随笔分类 -  SQL Server

SQL2000中因为选定的用户拥有对象,所以无法除去该用户.
摘要:1.打开企业管理器,展开服务器,右键点击本地服器,属性: 打开sql server 属性(配置)窗口2.选择常规窗口,将 自动开启sql server 代理 选上 确定3.重复动作1.打开打开sql server 属性(配置)窗口,选择 服务器设置窗口: 将允许对系统目录直接进行修改 选上,确定。4.展开数据库,看到数据库系统表 sysusers ,右键--打开表--返回所有行:5.选择应为还原而添加进来的用户,找到相关行,点右键 删除: 选择 是 再返回到用户列表,看看还有该用户没有,如果没有用户,我们在去sql的安全里面把该数据库对应的用户添加上去, 再返回动作3把选择上的 允许对系统目录 阅读全文

posted @ 2012-05-17 20:23 leon_kin 阅读(893) 评论(0) 推荐(0)

Bulk insert的用法
摘要:1 /******* 导出到excel */ 2 EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' 3 4 /*********** 导入Excel */ 5 SELECT * 6 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 7 'Data Source="c:/tes 阅读全文

posted @ 2012-04-23 18:04 leon_kin 阅读(840) 评论(0) 推荐(0)

SQL 2000和2005 树形递归法小汇总
摘要:--测试数据if OBJECT_ID('tb') is not null drop table tb goCREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10))INSERT tb SELECT '001',NULL ,'山东省'UNION ALL SELECT '002','001','烟台市'UNION ALL SELECT '004','002','招远市'UNION ALL SELECT 阅读全文

posted @ 2012-03-25 17:51 leon_kin 阅读(254) 评论(0) 推荐(0)

Sql 2005数据库的sa密码忘记了怎么办?
摘要:情况一:只是忘记了密码 sp_password Null,'123,'sa' 把sa的密码设为“123” 执行成功后有“Command(s) completed successfully.” OK! 情况二:忘记了密码,而且从sysadmin中删除了builtin\Administrators帐号,现在没其他人是sysadmin了 A: SQL Server 2005/2008提供了针对该情况的更好的灾难恢复方法,无需侵入master数据库,不会对master数据库中的对象和数据(例如登陆帐号,证书等)造成损坏。Windows管理员组的成员现在当SQL Server以单 阅读全文

posted @ 2012-02-22 21:03 leon_kin 阅读(450) 评论(0) 推荐(0)

事务提交及回滚的具体写法
摘要:解决办法一:在begin transaction 前面加set xact_abort on这样就可以在过程出错时中断执行,当然也就不能commit了,如此再在最后一个操作的后面加入 if @error=0 就说明所有的操作都执行成功了就可以commit。具体如: set xact_abort on begin trans declare ... <1>操作 <2>操作 ... <n>操作 if @error<>0 begin rollback transaction end else begin commit transaction e... 阅读全文

posted @ 2012-02-22 21:01 leon_kin 阅读(495) 评论(0) 推荐(0)

SQLServer 存储过程中不拼接SQL字符串实现多条件查询
摘要:以前拼接的写法 set @sql=' select * from table where 1=1 ' if (@addDate is not null) set @sql = @sql+' and addDate = '+ @addDate + '' if (@name <>'' and is not null) set @sql = @sql+ ' and name = ' + @name + ' 'exec(@sql) 下面是 不采用拼接SQL字符串实现多条件查询的解决方案 第一种写 阅读全文

posted @ 2012-02-22 20:47 leon_kin 阅读(474) 评论(0) 推荐(0)

两台电脑同步数据
摘要:--定时同步服务器上的数据--例子:--测试环境,SQL Server2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test--服务器上的表(查询分析器连接到服务器上创建)createtable[user](id intprimarykey,numbervarchar(4),name varchar(10))go--以下在局域网(本机操作)--本机的表,state说明:null 表示新增记录,1 表示修改过的记录,0 表示无变化的记录ifexists (select*from dbo.sysobjects where id =object_id(N'[user]&# 阅读全文

posted @ 2012-02-22 20:45 leon_kin 阅读(747) 评论(0) 推荐(0)

SQL Server日期函数集合
摘要:--1:获取系统日期和时间值函数 --getdate() SELECT GETDATE() AS 'today'--getutcdate() SELECT GETUTCDATE() AS 'today' --2:修改日期和时间值函数 --dat --参考http://msdn.microsoft.com/zh-cn/library/ms186724.aspx --1:获取系统日期和时间值函数 --getdate() SELECT GETDATE() AS 'today'--getutcdate() SELECT GETUTCDATE() AS & 阅读全文

posted @ 2012-02-22 20:26 leon_kin 阅读(281) 评论(0) 推荐(0)

跨服务器与连接不同数据库 不跨服务器连接库存表
摘要:1 ?/********************链接数据库 *******************************/ 2 exec OPENDATASOURCE( 3 'SQLOLEDB ', 4 'Data Source=远程ip;User ID=sa;Password=密码 ' 5 ).库名.dbo.存储过程名 6 7 select * into 本地库名..表名 from OPENDATASOURCE( 8 ... 阅读全文

posted @ 2012-02-22 20:21 leon_kin 阅读(203) 评论(0) 推荐(0)

获取一个数据库中的所有表的名称、一个表中所有字段的名称
摘要:1、如何用SQL获取一个数据库中的所有表的名称;SELECT * FROM sysobjects WHERE xtype='u' 2、如何用SQL获取一个表中所有字段的名称; 1 SELECT c.name,o.name FROM syscolumns AS c 2 INNER JOIN sysobjects AS o 3 ON c.id = o.id select name from sysobjects where xtype='U'select name from syscolumns where id=object_id(N'表明') S 阅读全文

posted @ 2012-02-22 20:09 leon_kin 阅读(357) 评论(0) 推荐(0)

DELPHI编程用SQLDMO呈现带进度条的SQL Server数据库Databnse备份!
摘要:假如写成线程方法效果更好,共享!先导入SQLDMO生成SQLDMO_TLB.pas文档unit Unit3;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs,SQLDMO_TLB, StdCtrls, ComCtrls,comobj;typeTForm3 = class(TForm)Button1: TButton;ProgressBar1: TProgressBar;procedure Button1Click(Sender: TObject);priv 阅读全文

posted @ 2012-02-22 19:24 leon_kin 阅读(441) 评论(0) 推荐(0)

转:超级通用型分页存储过程
摘要:--超级通用型分页存储过程--可对Select语句进行分页,可带order、group等子句--KeyField(关键词)可以为空,也可以由多个,用,间隔--使用Keyfield可以进行缓冲更新模式--Dcopyboy义乌科创计算机有限公司软件部--2012-01-08----------CREATEprocGetData@SQLSTRvarchar(8000),@KeyFieldvarchar(500),@PageNoint,@PageSizeintasbeginDECLARE@posint,@SQLSTR1varchar(8000),@SQLSTR2varchar(50)set@SQLST 阅读全文

posted @ 2012-02-22 18:39 leon_kin 阅读(217) 评论(0) 推荐(0)