摘要:方法是参考网上的,做了下修改。基本方式是:计划任务启动批处理文件,批处理执行SQL语句文件,在SQL语句中执行数据库中的存储过程来备份数据库。创建存储过程SQL:Use 数据库名GOCREATE PROCEDURE [dbo].[sp_BackupDB]@DBName sysname,@bakType CHAR(1),@bakToDir NVARCHAR(500)AS BEGIN SET NOCOUNT ON; DECLARE @sqlCommand NVARCHAR(1000) DECLARE @dateTime NVARCHAR(20) DECLARE @bakF...
阅读全文
摘要:首先执行数据库的附加。附加完成之后需要做的工作是要将登录名与附加的数据库的用户名进行关联。关联的方式有两种: 1.附加完数据库之后,先将数据库中已有的用户名删除,然后新建一个或者使用已有的登录名,将该登录名指向这个数据库,设置一个数据库用户名(默认与登录名一致),保存之后,就会给数据库创建一个刚才设置的用户。但是这个用户的数据库权限需要重新设置。 2.附加完数据库之后,新建一个登录,但不指向到该数据库(或者使用已有的登录)。然后在附加后的数据库上新建一个查询分析器,通过下面的语句将用户名与登录名进行映射(推荐): sp_change_users_login "Update_ONE&q
阅读全文
摘要:来源地址:http://topic.csdn.net/u/20090304/15/e827ea69-3d56-4557-abae-d5701ee24330.htmlCase具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THE
阅读全文
摘要:如果需要将查询结果里面的空字段排序到下面,可以采用下面的两种方法:方法一:SELECT AA,BB,CC FROM Table ORDER BY ISNULL(AA,'ZZZZ'),ISNULL(BB,'ZZZZ'),CC解释:这种方法是在排序的时候,判断字段是否为空,当为空的时候,就将单引号中的内容作为字段内容来参加排序。这时候,只需要在单引号中写一个肯定是列的最大值的内容就可以了。方法二:SELECT AA,BB,CC FROM TABLE ORDER BY (CASE WHEN AA IS NULL THEN 1 ELSE 0 END),AA, (CASE
阅读全文
摘要:参考网上的方法及实际的测试,基本弄明白了附加数据库之后无法访问表的问题,基本弄明白了数据库的登录用户和数据库的用户之间的关系,得出下面的附加数据库的方法:SQL2000及SQL2005 附加数据库的简便方法:1、附加数据库。(在选择所有者(DBO)的时候选择SA) 2、建立跟原账号相同的账号(例test),但不指定数据库访问。 3、打开查询分析器(使用sa登陆 ),选择刚建的数据库存,执行以下语句: sp_change_users_login 'update_one', 'test', 'test' F5执行。 补充语句:存储过程sp_chang
阅读全文