首页 » 数据库

如何解决Sql Server 2005数据库备份还原后出现“受限制用户”

2010-01-12添加评论

Sql Server 2005 在备份还原后经常出现数据库“受限制用户”的问题,
可以通过设置数据库属性-》选项-》状态-》限制访问来解决。
一般情况选中“Multiple”即可。
如下图:

用户sa登录失败,该用户与可信sql server连接无关联

2009-11-25添加评论

SQLSERVER 2005采用’SQLSERVER身份验证’去登录, 出错的原因是:’用户 ’sa’ 登录失败。该用户与可信 SQL Server 连接无关联’.今天上网上查了半天才搞定的。
具体的方法是:   
1:打开SQL Server Manager管理器!在左面找到 ‘安全性’ 单击右键 选择‘新建”,“登录” 弹出一个对话框,在登录名中输入你的登录号,选择’SQLSERVER身份验证’,并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。 点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。
2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“SQL SERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了!
3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!输入刚才的用户名和密码就可以登录成功了!(重新启动服务)

实用的SQL Server数据库字典SQL语句

2009-10-14添加评论

本文主要介绍了三个实用的SQL Server数据库字典SQL语句,数据库字典主要包括表结构(分为SQL Server 2000和SQL Server 2005)、索引和主键. 外键.约束.视图.函数.存储过程.触发器。你可以在查询分析器、企业管理器中简单执行后,快速的查出SQL Server 2000及SQL Server 2005的全部数据字典。
1. SQL Server 2000数据库字典(表结构.sql)
SELECT TOP 100 PERCENT –a.id,
CASE WHEN a.colorder = 1 THEN d.name ELSE ” END AS 表名,
CASE WHEN a.colorder = 1 THEN isnull(f.value, ”) ELSE ” END AS 表说明,
a.colorder AS 字段序号, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id,
a.name, ‘IsIdentity’) = 1 THEN ‘√’ ELSE [...]

SQL 2005的企业管理器Microsoft SQL Server Management Studio Express(SSMSE)

2009-09-30添加评论

不安装庞大的SQL 2005,在客户端连接SQL 2005的工具,在工作过程中遇到这个问题,我们机器上安装了SQL 2000的数据库,但在实际使用过程中由于某个项目的需要连接SQL 2005的数据库,用SQL 2000的企业管理器连接SQL 2005是连接不上的,但是通过SQL 2000的查询分析器仍然可以连接SQL 2005的数据库,但是修改表结构等不方便,需要用SQL语言来写~~
根据SQL 2000连接SQL 2005的提示,可以到微软的网站上免费下载一个软件:
Microsoft SQL Server Management Studio Express(SSMSE) :
是一种免费、易用的图形管理工具,用于管理 SQL Server 2005 Express Edition 和具有高级服务的 SQL Server 2005 Express Edition。
下载地址是:
http://www.microsoft.com/downloads/details.aspx?FamilyID=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=zh-cn
选择SQLServer2005_SSMSEE.msi这个下载就是了~~
在下载完毕安装的时候又提示: setup is missing prerequisites – msxlm6,解决也很简单,需要安装2007年8月14日的Microsoft XML Core Services 6.0 和 Microsoft XML Core Services 6.0 Service Pack 1 安全更新程序 (KB933579),其下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=70c92e77-9e5a-41b1-a9d2-64443913c976。
然后先安装这个补丁,然后再安装SSMSE,一路OK~~~下面的就不多说了~

SQL 2005 中TOP子句的应用

2009-09-24添加评论

在给客户解决一个小的技术问题时,发现一些技术人员对SQL2005的T-SQL还有些东西是不太熟悉的,这次我就通过与SQL2000对比着来说一下SQL2005的TOP子句吧。
首先说一下大家熟悉的SELECT语句。
SQL2000中我们主要类似这样写:SELECT TOP 10 * FROM [News] ORDER BY [Id] DESC。这样我就能获取News表按Id列倒序的前10条记录。那么一个小问题就来了,我们知道SQL2000的TOP后面只能跟常量的,不能跟变量的,如果我们把这个语句放在一个存储过程中,而由于业务原因一些地方需要取出同样条件的10条有些20条还有57条……,那么我们怎么办呢?很多人说“简单啊,存储过中声明一个 @Top AS INT 的参数,然后先写一行SET ROWCOUNT @Top;然后写一行SELECT * FROM [News] ORDER BY [Id] DESC; 就行了。对了,最好在后面紧接着加上SET ROWCOUNT 0; 以避免影响后面的查询语句”。嗯这个回答在SQL2000是比较对的,起码比回答重新组合SQL语句的要好一些,尤其最好不要忘记那个SET ROWCOUNT 0; 但是我们看到这种方式在实际应用中,体验是不好的,一旦语句复杂到一定程度时,SET ROWCOUNT前后影响可能会让SQL编写人员撞墙。ok,那么我们在SQL2005中该如何处理呢?
SQL2005中SELECT语句的TOP则方便多了,因为TOP支持使用任意的独立表达式,而不仅仅是常量。所以我们上面的同样问题可以简化为:SELECT TOP (@Top) * FROM [News] ORDER BY [Id] DESC。人性化多了,而且语句表达的意思很明确,不会像使用SET ROWCOUNT那样让人郁闷不已。
再说一下INSERT、UPDATE和DELETE等修改语句吧。
对于这三种操作我们似乎依然可以使用SET ROWCOUNT来处理,但是我们知道这种方式的体验之差,对复杂语句尤甚。而且我们知道“对于在远程表和本地及远程分区视图上执行的 INSERT、UPDATE 和 DELETE 语句,将忽略 SET ROWCOUNT 选项设置”,也就是说在远程查询时这个东西就不管用了。我们还在SQL2008的联机丛书中还发现这样一段重要提示:
“在 SQL Server 的下一个版本中,使用 SET ROWCOUNT 将不会影响 [...]

解决SQL数据库日志已满的问题

2009-07-20添加评论

日志文件满而造成SQL数据库无法写入文件时,可用两种方法:
一种方法:清空日志。
1.打开查询分析器,输入命令
DUMP TRANSACTION 数据库名 WITH NO_LOG
2.再打开企业管理器–右键你要压缩的数据库–所有任务–收缩数据库–收缩文件–选择日志文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。

SQL里的EXISTS与in、not exists与not in

2009-02-20添加评论

分析一下exists真的就比in的效率高吗?
    我们先讨论IN和EXISTS。
    select * from t1 where x in ( select y from t2 )
    事实上可以理解为:
    select *
      from t1, ( select distinct y from t2 ) t2
     where t1.x = t2.y;

mssql里的cast和convert,类型转换函数

2008-12-31添加评论

将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:

索引维护–DBCC DBREINDEX重建索引提高SQL Server性能

2008-11-24添加评论

大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数据指针来提高数据的索引。

SQL Server 8点优化建议

2008-11-20添加评论

  1、存储  
        将硬盘分成NTFS格式,NTFS比FAT32快,并看你的数据文件大小,1G以上你可以采用多数据库文件,这样可以将存取负载分散到多个物理硬盘或磁盘阵列上。  
   
  2、tempdb  
        tempdb也应该被单独的物理硬盘或磁盘阵列上,建议放在RAID   0上,这样它的性能最高,不要对它设置最大值让它自动增长  

当前第 1 / 3 页 : 123»