但是在配置复制的时候却出了问题,我在MS-ZY上配置了数据库分发,配置成功,接下来想在MS-ZY2上配置订阅,可是却报错。于是我就试一下在MS-ZY2上配置分发,同样报错,报错内容为:
显然,虽然在 *** 作系统中将机器名修改为MS-ZY2了,但是在数据库中仍然使用的MS-ZY作为服务器名。唯一的办法就是修改数据库的服务器名。
具体修改过程:
1使用select @@ServerName可以看到当前数据库的服务器名,果然还是MS-ZY!
2从SysSysServers表中可以看到当前的所有服务器名,也是MS-ZY!
3使用 sp_dropserver 'MS-ZY' 将这个服务器名删除。
4使用 sp_addserver 'MS-ZY2','LOCAL'将本地服务器重新添加到服务器表中,并且命名为MS-ZY2
5查询SysSysServers表,果然已经修改了。
6重启数据库服务,修改完成,可以正常使用复制功能了 :)
其实 *** 作还是十分的简单,但是由于修改服务器名这种情况实在太少见了,一般都是使用默认的,所以很多人都不知道如果修改。
你是 要修改这个服务器名称吗?他分为两块,前面那个是计算机名称,这个要改的话知道的哦,至于后面这个,那是数据库的实例名称
,但不是数据库名称!数据库命名实例是不能修改的!但是你可以重新另外安装一个数据库实例!就是你之前安装过的 SQL server
2005,再给安装一次,在安装的时候,你可以注意到,选择实例名称,默认的就是常见SQLEXPRESS,你可以进行相应的修改。同样的,如果你想删除
之前安装过的实例的话,你可以到控制面板里面,对SQL server 2005 进行实例卸载!
查看服务名的 *** 作如下:
1、打开MySQL安装地址,比如在D盘符,打开地址如下:D:\wamp\bin\mysql\mysql5520\bin
2、打开mysqlexe文件,输入密码回车确定显示如下页面证明你登录成功了。
3、在mysql后面输入show global variables like 'port';别写错了,切记别忘记写英文状态下的分号。
4、如果大家怕打错了想复制我这个代码,复制后不要去CTRl+V粘贴,那是不对的,要在会话窗口,也就是这个黑色框内,右键-粘贴!
:
一般公司都会配置各种服务器,比如文件服务器,数据库服务器,ERP服务器,远程访问服务器等等,想查看服务器名称是很容易的事情,不过可能会有以下几种情况:
1,本人就在服务器旁边,可以直接通过查看电脑桌面的电脑属性来获得服务器名称
2,本人正在SQL SERVER数据库中 *** 作,可以输入SQL查询命令来获得服务器名称
3,本人不在服务器旁边,知道服务器IP,可以通过tracert命令来获得服务器名称
第一步:在运行--程序中打开SQL SERVER 2005,打开配置工具--SQL SERVER CONFIGURATIONMANAGER,打开SQLSERVER 2005 网络配置、SQLEXPRESS的协议。然后:选中右边协议名称TCP/IP,进入协议设置窗口。说明:在IP地址栏中输入本机地址127001,TCP端口改为1433,选择启用。在IPALL下面的TCP端口中设置为1433。(关键)然后:选择SQL NATIVE CLIENT 配置下面的客户端协议中,选择TCP/IP对话框。说明:注意客户端默认端口为1433,所以我们上面设置的TCP/IP端口为1433,选择启用。第二步:在运行--程序中打开SQL SERVER 2005,打开SQL SERVER MANAGEMENT STUDIO窗体,自动d出新建连接(如果没有自动d出,选择对象资源管理器下面的,新建连接下拉框连接)。说明:点击确定,以Windows 身份验证模式连接到数据库,右键单击数据库名。选择属性,进入属性设置(关键步骤)。选择安全性,服务器身份验证改为SQL Server 和 Windows身份验证模式,点确定返回。然后:退出Windows身份验证模式,新建连接,选择以SQL Server模式连接。说明:服务器名字为服务器的IP地址,如果是连接本机且本机为服务器,可以设为127001,其他机器连接时需要设置为服务器的IP地址。身份验证选择SQL Server 身份验证,登录名为sa,密码为空,这是SQL自带的登录名和密码,你也可以自己设置用户名和密码以及权限。[完毕]请参考一下步骤:1>到桌面,右键点击“我的电脑”
2>点击选择“计算机名”一栏,那个“>>1、查询SQL中的所有表: Select TABLE_NAME FROM 数据库名称INFORMATION_SCHEMATABLES Where TABLE_TYPE='BASE TABLE' 执行之后,就可以看到数据库中所有属于自己建的表的名称 2、查询SQL中所有表及列: Select dbosysobjectsname as Table_name, dbosyscolumnsname AS Column_name FROM dbosyscolumns INNER JOIN dbosysobjects ON dbosyscolumnsid = dbosysobjectsid Where (dbosysobjectsxtype = 'u') AND (NOT (dbosysobjectsname LIKE 'dtproperties')) 3、在Sql查询分析器,还有一个简单的查询方法: EXEC sp_MSforeachtable @command1="sp_spaceused ''" 执行完之后,就可以看到数据库中所有用户表的信息 4、查询总存储过程数:select count() 总存储过程数 from sysobjects where xtype='p' 附:xtype类型D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束L = 日志FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程S = 系统表TF = 表函数
TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)V = 视图X = 扩展存储过程 另:在sqlserver中取得某个数据库中所有表名的sql语句 select sysobjectsname from sysobjectsxtype ='U';SELECT name
WHERE (xtype = 'U') 在数据库的sysobjects表里有这个数据库全部表的信息, xtype值为'U'的就是表名 注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER 默认它也是用户表,想要从用户表中排出,需要加上限定条件 status>0,即:select from sysobjects where xtype='U' and status>0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)