A. 如何实现sqlserver单步调试
1、将服务器【身份验证】属性设置成【混合模式】(window与sql身份验证)
2、在【控制面板】中打开【服务】将【MSSQLSERVER】服务打开【属性】,选择【登录】页面,将登录身份设置成服务器本地帐号和该帐号密码,如administrator,密码123;
3、重新启动sqlserver服务,此时的服务指的是【SQL服务管理器】中的SQL Server服务;
假设【帐号】设置为administrator
此时达到的效果是:服务器本地帐号administrator与客户端上的administrator(并且该帐号的密码要与服务器密码相同)可以通过【查询分析器】进行调试;
如果想让【其他帐号】也能够调试,那么还需要如下设置:
1、在【服务器】上运行dcomcnfg.exe;
2、在【默认安全机制】中【默认访问权限】右边点击【编辑默认值】选择允许调试的帐号类型,如users用户类型,sample帐号有包含users组;
3、重新启动sqlserver服务;
4、在客户端上创建与服务帐号密码一样的用户,如sample;
做到这步就可以通过查询分析器的调试功能进行单步调试了。
注:第二步更改“启动服务帐户”,在第一次登录之前,必须更改用户密码。
不然,event log:以当前密码登录的尝试因下列错误将宣告失败:
在第一次登录之前,必须更改用户密码。
B. sqlserver如何将身份证号码的出生日期提取出来转为日期类型数据
(1)截取第七、八位数没有错
(2)错就错在as
datetime错误。
截取获得的两位数字不可能转成时间格式。只能转成int、string或者varchar格式
(3)改正方法:把as
datetime改成as
int
或者改成as
varchar
望采纳!
C. sqlserver 分离 导出 还原这几个功能如何区别呢!
分离/附加: 这个说的是 将数据库的数据文件和日志文件从源数据库中 分离出来, 介质仍然是 数据文件和日志文件; 可以拷贝到 新的数据库服务器上,将 分理出的 数据文件和日志文件附加上去。
导出/导入:这个我不确定是哪个操作,如果是dts/ssis的导出导入的话,则是一个强大的功能,可以导出成各种格式的文件,比如sql文件、excel文件、其他数据库 等等。这个介质不好说,根据导出的方法确定。
备份/还原:这个是数据库的维护功能,日常要对数据库进行备份,以免数据库崩溃。也可以使用备份文件到目标数据库服务器上进行恢复。介质是数据库备份文件。
D. 为什么sqlserver.exe进程不能终止
因为一些软件看似关闭了不在读取U盘的数据,其实进程任然没有结束,你可以结束EXPLORER进程,然后重启一下这个进程,应该可以了。
E. 如何做SQLServer的日志截断
SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收缩数据库日志,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件。
语句如下:
USE DATABASENAME;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DATABASENAME SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (DATABASENAME_Log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE DATABASENAME SET RECOVERY FULL;
GO
也可以通过图形界面来完成。
通过先备份日志,然后再收缩日志文件,如下:
back database mydb to disk='mydb_bak';
dbcc shinkfile(mydb_log,10);--收缩至10m
F. sqlserver怎么批量删除大量数据
用一次性删除的方法是很不明智的。
1、delete操作会被完整记录到日志里,它需要大量空间和时间;
2、如果删除中间发生中断,一切删除会回滚(在一个事务里);
3、同时删除多行,记录上的锁也许会被提升为排它表锁,从而阻碍操作完成之前有对这个表的操作(有时候会妨碍正常的业务)所以一般采取分批删除的方法.
所以我们可以通过分批次迁移压缩数据,这样可以大大提升执行速度和执行效率
首先通过set rowcount 来控制每次删除的记录数
执行Sql语句
SET ROWCOUNT 0; 记录每次执行删除的条数
通过TOP的方法,并且使用循环
WHILE 1 = 1
BEGIN
DELETE TOP(5000) FROM dbo.Table WHERE time< '2016-12-12';
IF @@rowcount < 5000
BREAK;
END
G. 处理sqlserver中的特殊字符
只有使用程序结合正则表达式,查找替换了
sql脚本无法直接处理
H. sqlserver怎么循环
打开sql server management studio管理工具,点击【新建查询】菜单按钮,就会出现一个空白的窗口,这个窗口是用来写sql语句的,本文所有的演示sql语句都在这个窗口完成
I. 如何释放Sqlserver所占得内存
sql server 在查询大数据量的数据时,总会占用大量的内存,并且居高不下,一不小心就会死机。 下面这个是我从网上找到的: 当你查询数据的数据量比较大时,sqlserver会把查询结果缓存在内存中,保证你下次查询同样的记录时会很快得到结果,所以内存使用量会激增。 在你完成此次查询后,sqlserver不会马上释放内存,数据会仍然放在内存中,这是sqlserver的优化策略,sqlserver会不断地占用你的系统内存,来加快sqlserver的运行速度,当你的系统中的其它服务也需要内存时,它才会自动释放部分内存。一句话,sqlserver不会让你的系统有闲置的内存,除非你设置sqlserver的最大内存使用量。这样也没什么不好,如果你的系统很大,单独给sqlserver一台机器,这样会提高它的性能。 如果你只是开发用,要想让sqlserver释放内存,重启sqlserver的服务就行了。如果不想让sqlserver占用太多内存,设置sqlserver的最大内存占用量. 设置最大内存后效果好了不少!
J. sqlserver为什么自动关闭
在管理工具的服务中重启sqlserver的服务
如果不行,重新设置sqlserver服务的启动选项
还是不行,重新安装sqlserver2000
但在安装前先备份数据库
完全备份