日度归档:2018年9月25日

mssql sqlserver 数据库引擎对外服务端口查看方法分享


摘要:
今天在部署程序上线时,发现所有的配置后修改完毕后,还是提示“无法连接数据库”,连接被拒绝,依次核对了网络,账号密码,
最后通过仔细对比,发现sql server侦听的端口号发现了变化,下文将查看sqlserver数据库引擎对外服务的端口号的方法分享,如下:


查看方法1:
如果SSMS管理器可以连接至数据库引擎,则连接上后,打开查询分析器,然后输入以下脚本:

	  exec sys.sp_readerrorlog 0, 1, 'listening'
	

查看方法2:
配置工具–>sql server配置管理器–>sqlserver网络配置–>
MSSQLSERVER的协议,点击–>”TCP/IP”–>查看所有IP对应的端口开放情况,如下图所示:

mssql_sqlserver_配置管理器查看方法

mssql_sqlserver_配置管理器查看方法

mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享


摘要:
下文讲述清空数据库中所有表信息的方法分享,如下所示:
实验环境:sql server 2008


实现思路:
1.禁用所有约束,外键
2.禁用所有触发器
3.删除表数据
4.开启触发器
5.开启约束

CREATE PROCEDURE proc_deleteDateSql
 /*
  生成清除数据库表数据的脚本方法分享
 */
AS
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
EXEC sp_MSForEachTable 'delete from ?'
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'
GO


--生成脚本信息
exec proc_deleteDateSql 

go

drop proc  proc_deleteDateSql 
go


此方法请谨慎使用,因为执行后,会导致所有数据丢失,并且不可恢复,
如出现外键约束,最好先删除外键信息,如:批量删除MSSQL 中主外键约束

mssql sqlserver 向自增列中插入数值的方法分享


摘要:
最近在做数据库迁移工作,需要将数据表中的标识列迁移至指定表中,出现无法插入的异常信息,
下文将讲述向自增列(标识列)表中插入值的方法分享,如下所示:
实验环境:sql server 2008 R2


向指定表中插入数据,出现以下错误信息:

消息 544,级别 16,状态 1,第 6 行
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘test’ 中的标识列插入显式值。

处理方法:
–对标识列插入数据,需打开显示插入属性,然后才可以显示插入数据

   create table test (keyId int identity,
 tbName varchar(250))
 
 set identity_insert test on 
 
 insert into test
 (keyId,tbName)
 values
 (2,'a')
 
 set identity_insert  test off
 go
 
 select * from test 
 
 truncate table test 
 drop     table test