当前位置:首页 > 服务器 > 正文

服务器上所有的数据库(一个服务器有几个数据库)

今天给各位分享服务器上所有的数据库的知识,其中也会对一个服务器有几个数据库进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用c#如何将服务器上所有数据库中的所有表复制到本地的数据库上。

--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库

EXEC master.dbo.sp_addlinkedserver @server = N'Link',

@srvproduct='ms',

@provider=N'SQLNCLI',

@datasrc=N'远程ip地址,端口'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',

@useself=N'False',

@locallogin=NULL,

@rmtuser=N'用户名',

@rmtpassword='密码'

--查询远程表

select *

from [Link].远程数据库名.dbo.表

--把本地表的数据,复制到远程表

insert into [Link].远程数据库名.dbo.表(列的列表)

select 列

from 本地表

如何查询MySQL服务器中的所有数据库名称

常用工具有:phpMyAdmin,或者Navicat,

或者在mysql文件下的命令提示符中输入:

mysqlbinmysql

-h主机地址

-u

用户名

-p

用户密码//登录

show

databases;//显示数据库名

use

dataname;//显示数据库中的表

show

tables;

如何把服务器上的mysql所有数据库复制到本地

这就要看什么数据库了,如果是mysql 直接下载 mysql/data/数据库名 里面的所有文件 .myi .myd 等文件。然后放到本地电脑上的mysql数据库的相应位置,然后重启mysql就行。具体还是看什么数据库

查看oracle服务器中的所有数据库名命令?

select

name

from

v$database

,直接运行就可以查看了,也可以查看tnsnames.ora

的连接,有个sid,sid就是服务名了!!!

如何管理服务器上的多个数据库

虽然这将减少托管所有这些数据库的成本,但是,这增加了管理这些系统的复杂性,因为你现在要处理多个服务级协议和维护窗口。 当你决定在同一台服务器上托管多个数据库的时候,你要考虑的第一件事是这些系统是否有互补的维护窗口。如果一个系统不能在夜间放慢速度或者离线,另一个系统不能在白天放慢速度或者离线,这些系统就不适合共享一个服务器,因为你在需要为系统使用补丁或者处于其它原因要让系统离线的时候,你没有有效的维护时间窗。 你需要考察的下一个决定因素是这些系统的服务级协议。需要99%的开机时间的系统能够安排在一起,因为你可能会为这些系统(也许是集群解决方案)建立一个比非重要任务系统更强大的环境。这可以为你节省额外的成本,因为你现在不需要采购任何高端系统。具有更高的服务级协议的系统也可能会有同样的维护时间窗。因此,这些系统在一开始就是互补的。 承担工作量 对托管多个数据库的SQL服务器进行维护的最大难题是时机。 当然,当把多个数据库集中在一个SQL服务器的时候需要考虑的最重要的问题是,是否有足够的CPU和内存资源处理这些客户程序添加到这个数据库服务器的工作量。如果单个服务器不能提供需要的CPU和内存资源,那么,把这些数据库都集中在那台服务器上就不是一个好的选择。 当你经过这个整个决策过程并且把这些数据库都放在同一台服务器上之后,你如何保持这些系统的健康和在高峰期仍能运行?与其它任何数据库解决方案一样,你仍需要处理自己的备份、索引碎片整理和重建、以及为操作系统和SQL服务器使用补丁。 处理托管多个数据库的SQL服务器的维护的最大难题是时机。你需要保证你的维护任务能够在这个SQL服务器托管的全部数据库计划的维护时间窗内完成。在任何数据库的维护时间窗之外进行维护工作都将引起数据库运行缓慢,因为硬盘和CPU资源现在被维护活动占用了,而不是处理正常的数据库查询。 重新索引工作 已经证明是有用的一个技术是比正常运行重新索引指令更频繁地对你的索引进行碎片整理。整理碎片的指令比重新索引指令有更多的好处。第一,索引碎片整理指令是一种在线操作,而重建索引是一种离线工作(除非你运行SQL服务器2005企业版或者更新的版本)。第二,如果你频繁地运行索引碎片整理指令,每一次运行这个指令的时候工作量都比较少。 例如,你每个星期检查一次索引碎片,它显示碎片是70%。这样,你就可以运行一个索引重建指令清除这些索引。 然而,你在第二天再检查索引碎片的时候会发生什么情况呢?它可能是大约8%至10%的碎片。因此,如果你每天运行一个索引碎片整理指令而不是每个星期运行一次索引碎片整理指令,每一天要做的工作就很少,这个工作就能够更快地完成,可能在每天的维护时间窗内完成。 即使你在时间窗内不能让这个系统离线,由于碎片整理操作是一种在线操作,这个系统在整理碎片操作的时间将继续发挥作用,只是反应速度比正常情况下稍微慢一点。 数据库备份 备份是在一台服务器上托管多个数据库的时候需要解决的另一个关键问题。 每一个数据库都有自己的备份要求。备份数据库也许是能够在SQL服务器运行时执行的最繁重的任务。并不是因为这种备份需要占用大量的CPU和内存资源(这个任务占用的资源一般是很低的,除非你在备份的时候对数据库进行压缩),而是因为备份一个大型数据库需要占用大量的硬盘资源。 当进行全面备份的时候,整个数据库必须从硬盘读取。如果你的硬盘系统非常繁忙,这个备份会引起性能严重下降。这种备份的最佳解决方案是选择合适的时机。你还可以寻找能够在备份的同时允许对数据库备份进行压缩的第三方工具。由于这将增加SQL服务器上的CPU的工作量,它通常仅用很少的时间完成备份,因为需要写入备份设备中的数据很少。 结论 只有很少的几种技术能够在一台服务器上运行多个数据库的时候帮助进行数据库服务器的维护。当你考虑数据库整合项目时,希望你能发现这些工具是很有用的。

winform如何拿到一个服务器中所有数据库名称

/// summary

/// 获得目标服务器所有数据库名

/// /summary

/// param name="serverName"/param

/// param name="userName"/param

/// param name="password"/param

public void getDataBaseNameList(string serverName, string userName, string password)

{

SQLDMO.Application sqlApplication = new SQLDMO.ApplicationClass();

SQLDMO.SQLServer sqlServer = new SQLDMO.SQLServerClass();

sqlServer.Connect(serverName, userName, password); // 连接服务器

foreach (SQLDMO.Database databBase in sqlServer.Databases)

{

if (databBase.Name != null)

{

this.DataBaseTreeView.Nodes.Add(databBase.Name);

getDataBaseTableList(serverName, userName, password, databBase.Name);

}

}

}

/// summary

/// 加载数据库中表

/// /summary

/// param name="serverName"服务器名/param

/// param name="userName"用户名/param

/// param name="password"密码/param

/// param name="dataBaseName"数据库名/param

private void getDataBaseTableList(string serverName, string userName, string password, string dataBaseName)

{

SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass();

//连接到服务器

Server.Connect(serverName, userName, password);

//对所有的数据库遍历,获得指定数据库

for (int i = 0; i Server.Databases.Count; i++)

{

//判断当前数据库是否是指定数据库

if (Server.Databases.Item(i + 1, "dbo").Name == dataBaseName)

{

//获得指定数据库

SQLDMO._Database db = Server.Databases.Item(i + 1, "dbo");

//获得指定数据库中的所有表

for (int j = 0; j db.Tables.Count; j++)

{

this.DataBaseTreeView.Nodes[i].Nodes.Add(db.Tables.Item(j + 1, "dbo").Name);

}

}

}

}

/// summary

/// 获得表中所有列名

/// /summary

/// param name="serverName"服务器名/param

/// param name="userName"用户名/param

/// param name="password"密码/param

/// param name="tableName"表名/param

/// param name="dataBaseName"数据库名/param

/// returns/returns

public string getRowListFromTable(string serverName, string userName, string password, string tableName, string dataBaseName)

{

string result = string.Empty;

string connectionString = string.Empty;

connectionString += "server=" + serverName;

connectionString += ";Pwd=" + password;

connectionString += ";UID=" + userName;

connectionString += ";Database=" + dataBaseName;

string commandString = string.Empty;

commandString += "select name from syscolumns where id=object_id('";

commandString += tableName;

commandString += "')";

SqlConnection sqlConnection = new SqlConnection(connectionString);

SqlCommand sqlCommand = new SqlCommand(commandString, sqlConnection);

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandString, sqlConnection);

DataSet dataSet = new DataSet();

dataAdapter.Fill(dataSet);

DataTable dataTable = dataSet.Tables[0];

// DataTable dataTable = sqlConnection.GetSchema("Tables");

foreach (DataRow row in dataTable.Rows)

{

result += row[0].ToString() + "-";

}

if (result != null)

{

return result;

}

else

{

return "0";

}

}

关于服务器上所有的数据库和一个服务器有几个数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

取消
扫码支持 支付码