
数据库管理维护
htl258_Tony
这个作者很懒,什么都没留下…
展开
-
SQL 语句启用组件Ad Hoc Distributed Queries
1.启用exec sp_configure show advanced options,1reconfigureexec sp_configure Ad Hoc Distributed Queries,1reconfigure exec sp_configure show advanced options,0reconfigure /*配置选项 show advanced o原创 2009-05-08 21:09:00 · 2348 阅读 · 0 评论 -
查询数据库中所有用户表的使用情况
USE DBNameGOIF OBJECT_ID([TableSpace]) IS NOT NULL DROP TABLE [dbo].[TableSpace]GOCREATE TABLE TableSpace( TableName VARCHAR(200), RowsCount INT, Reserved VARCHAR(200), Data VARCHAR(200), Index_原创 2009-09-08 16:59:00 · 1817 阅读 · 0 评论 -
判断所指定的文件或目录(文件夹)是否存在存储过程
a--判断文件是否存在,存在则删除.IF OBJECT_ID(p_QueryCheckFile,P) IS NOT NULL DROP PROC p_QueryCheckFileGOCREATE PROC p_QueryCheckFile @path NVARCHAR(1000), @fname NVARCHAR(250)AS -翻译 2009-09-10 15:17:00 · 1784 阅读 · 0 评论 -
SQL 2005 实现修改系统表的方法
在 SQL Server 2000 中修改系统表的方法大部分人都知道,介绍如何在 SQL 2005 中修改系统表的资料目前还比较少,虽然微软不赞成修改系统表,而且也把修改系统表的代码隐藏起来了。但微软一贯喜欢给自己留个小后门。我是这么想的:最先知道如何修改 SQL 2005 系统表的人只有微软 SQL Server 2005 的设计、开发者。于是就到 msdn 中逛逛,最后终于找到了 SQL 20转载 2009-09-14 01:05:00 · 1335 阅读 · 0 评论 -
SQL查询包含自增列的表名和列名
--SQLServer自增列判断 --简单的判断语句(SQL2000以上):IF COLUMNPROPERTY(OBJECT_ID(tb), col, IsIdentity)=1 PRINT 自增列ELSE PRINT 不是自增列 --SQL2000以上查询所有自增列字段 SELECT 表名 = b.name, 字段名原创 2009-07-10 17:52:00 · 4331 阅读 · 0 评论 -
SQL对表进行权限设置
USE tempdbGO--创建两个测试表CREATE TABLE tb1(id int,value int)INSERT tb1 VALUES(1,10)CREATE TABLE tb2(id int,value int)INSERT tb1 VALUES(1,10)GO--创建登录CREATE LOGIN Liang WITH PASSWORD=myfend@hotmail.co转载 2009-09-16 10:40:00 · 1738 阅读 · 0 评论 -
Sql Server 获取、增加、修改、删除 字段描述
Sql Server 获取、增加、修改、删除 字段描述 获取、增加、修改、删除sqlserver字段描述Select o.name AS tableName, c.name AS columnName, p.[value] AS Description FROM sysproperties p INNER JOIN sysobjects o ON o.id = p.转载 2009-09-14 14:35:00 · 3279 阅读 · 0 评论 -
SQL Server 只想对备份的文件恢复数据文件,不恢复日志文件
--Garnett_KG 2005 下: 1). RESTORE DATABASE [baktest_data] FROM DISK=你的备份 WITH MOVE 数据文件名 TO 某路径 ,NO_LOG 2). 第一步做完後,将会出现一个(Restoring)的数据库 接着再重建一个新的DB, 比如 baktest_nolog原创 2010-01-28 14:52:00 · 6030 阅读 · 0 评论 -
Sql Server排序规则的简介、选择、应用
用SQL语句查询当前数据库的默认排序规则use db_name exec sp_helpsort go --以下转自:http://hi.baidu.com/jztchina/blog/item/17b1e01f3812f169f724e479.htmlSql Server排序规则的简介、选择、应用2009-11-07 21:11一、排序规则简介:原创 2010-01-28 15:55:00 · 2298 阅读 · 0 评论 -
复制、备份、镜像的联系与区别
很简单的问题,但是弄清楚他们也是有好处的!基础学习之用。呵呵!!! 复制: 是把数据从一个设备复制到另一个设备或者一个设备的一个磁盘复制到另一个磁盘,生成一个数据副本。 镜像: 是在两个或多个磁盘或磁盘子系统上产生同一个数据的镜像视图的信息存储过程。 区别: 镜像是数据虽然存在两个物理设备中,但是OS和逻辑层次原创 2010-03-25 22:53:00 · 14917 阅读 · 0 评论 -
SQL系统表构结说明
/* 语句 所属数据库 功能描述 */select * from sysaltfiles --主数据库 保存数据库的文件select * from syscharsets --主数据库 字符集与排序顺序select * from sysconfigures --主数据库 配置选项select * from syscurconf原创 2010-03-26 08:40:00 · 1075 阅读 · 0 评论 -
SQL大表转为分区表实例
-- 进行演示操作前, 先备份, 以便可以在演示完成后, 恢复到原始状态USE master-- 备份BACKUP DATABASE AdventureWorks TO DISK = AdventureWorks.bak WITH FORMAT---- 恢复--RESTORE DATABASE AdventureWorks-- FROM DISK = AdventureWo转载 2009-06-25 14:46:00 · 1737 阅读 · 0 评论 -
SQL 关机命令
exec xp_cmdshell shutdown -s -t 0 --0 表示等待关闭时间(单位:秒)原创 2009-08-14 18:14:00 · 1309 阅读 · 0 评论 -
SQL数据备份
--1.在作业里面调度,指定一段时间备份一次代码(保留原来备份的):declare @s nvarchar(1000)set @s=NF:/Backup/testdb+convert(nvarchar(8),getdate(),112)+N.bakbackup database testdb to disk = @s--2.在作业里面调度,指定一段时间备份一次代码(删除原来备份原创 2009-07-24 10:56:00 · 995 阅读 · 1 评论 -
在win2003 上的sql2000,物理内存超过4G怎么办
1.打开系统中的大内存支持(windows)若要启用 Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server 支持大于4GB的物理内存,必须将参数 /pae 添加到 boot.ini 文件中。[boot loader]timeout=0default=multi(0)disk(0)rdisk(0)partition(1)/WINN转载 2009-05-14 21:06:00 · 2613 阅读 · 0 评论 -
SQL语句关掉指定数据库所有进程
DECLARE @str VARCHAR(500);SET @str = ;SELECT @str = @str + KILL +RTRIM(spid)+;FROM master.dbo.sysprocessesWHERE dbid=DB_ID(库名);EXEC(@str);GO原创 2009-07-29 18:46:00 · 923 阅读 · 0 评论 -
SQL2000连接中的四个最常见错误
SQL Server 2000连接中的四个最常见错误:一."SQL Server 不存在或访问被拒绝"这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.============= 首先,检查网络物理连转载 2009-08-02 22:28:00 · 1210 阅读 · 0 评论 -
关于SQL SERVER高并发访问的解决办法
关于SQL SERVER高并发访问的解决办法问题:后台系统需要连接SQL SERVER,瞬时数据操作可能会很大,如同时有好几万数据要插入数据库,但在插入数据的同时另外的线程可能还要访问本数据库,插入数据的操作优先级比较低,其他的访问需要即时返回,想了很久不知道该怎么解决,望高手赐教了。回答:1. 提高服务器硬件配置 2. 使用 replication 之类的同步技术, 将频繁操作的表同步为多份,转载 2009-05-25 15:36:00 · 4445 阅读 · 0 评论 -
sql 远程调用存储过程示例
--SQL2000以上版本-- 创建链接服务器exec sp_addlinkedserver link_server_name,,SQLOLEDB,server_name or server_ip;exec sp_addlinkedsrvlogin link_server_name,false,sa,sa,password;exec sp_serveropt原创 2009-08-03 09:13:00 · 1317 阅读 · 1 评论 -
SQL命令查询各磁盘分区可用空间
exec xp_fixeddrives原创 2009-08-04 18:30:00 · 829 阅读 · 0 评论 -
为具体的用户设置具体的访问权限
use 你的库名go--新增用户exec sp_addlogin test --添加登录exec sp_grantdbaccess Ntest --使其成为当前数据库的合法用户exec sp_addrolemember Ndb_owner, Ntest --授予对自己数据库的所有权限--这样创建的用户就只能访问自己的转载 2009-06-08 08:13:00 · 4502 阅读 · 1 评论 -
文件组primary已满未能为数据库X对象X分配空间
数据库空间不足造成插入数据库时提示“因为文件组primary已满,未能为数据库XX对象XX分配空间”解决方法:1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间2.检查你的磁盘分区格式如果是FAT16,则数据文件最大只能是2G如果是FAT32,则数据文件最大只能是4G改为NTFS分区则没有这种限制3.检查一下你有没有限制数据库文件的大小企业管理器--右键你的数据库转载 2009-06-08 11:14:00 · 4156 阅读 · 0 评论 -
SQL2005 批量修改架构名
SQL Server2005可以使用系统存储过程sp_changeobjectowner更改数据库对象的所有者。 sp_changeobjectowner 对象名(包括架构名),新架构名 批量修改请用: 方法一:使用游标 declare @name sysname declare c cursor f原创 2009-06-10 19:25:00 · 2138 阅读 · 2 评论 -
sql2005如何修改排序规则
我的操作系统是英文版的,安装过中文语言包 还原的数据库是英文的,默认的排序规则是SQL_Latin1_General_CP1_CL_AS 用sql语句更新条目后 只要是中文的都显示???? 我认为是数据库排序规则的原因 但是sql2005中我改排序规则的时候显示“无法使用排它锁锁定该数据库” 请问怎么更改排序规则呢 更改服务器排序规则 更改 SQL Server 2005 实例的默认排序规原创 2010-03-28 17:29:00 · 3331 阅读 · 3 评论 -
查询所有SQL用户的连接信息(可显示IP)
if object_id(p_getlinkinfo,P)is not null drop proc p_getlinkinfogocreate proc p_getlinkinfo @dbname sysname=null, --要查詢的數據庫名,默認表示所有 @includeip bit=0 --是否顯示IP信息 as begin declare @原创 2010-03-26 17:10:00 · 6734 阅读 · 1 评论 -
SQL2005 SQL2008 远程连接配置方法
第一步(SQL2005、SQL2008): 开始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Server 配置管理器-->SQL Server网络配置-->MSSQLSERVER(这个名称以具体实例名为准) 的协议-->TCP/IP-->右键-->启用 第二步: SQL2005:开始-->程序-->Micr原创 2010-03-28 10:34:00 · 27349 阅读 · 9 评论 -
动态创建数据库实例
<br />--动态创建数据库实例(输入参数为数据库名、存储的路径名,数据库文件名与数据库名称相同):<br /> USEmaster<br /> GO<br /> DECLARE@dbnameSYSNAME,@pathSYSNAME<br /> SELECT@dbname=CONVERT(VARCHAR,GETDATE(),112),<br /> @path='D:/DATA/'<br /> <br /> IFDB_ID(@dbname)>0<br /> EXEC('DROP DATABASE [原创 2010-06-28 11:03:00 · 1967 阅读 · 0 评论 -
设置数据库兼容级别的两种方法
<br />--设置数据库兼容级别的两种方法<br /> <br />--以设置兼容SQL Serve 2005 为例<br />--法一:<br />ALTERDATABASEdatabase_nameSETCOMPATIBILITY_LEVEL= 90<br />GO<br />--法二:<br />EXECsp_dbcmptleveldatabase_name,90<br />GO<br /> <br /> database_name <br />要修改为数据库的名称。各参数值对应的数据库版本:<b原创 2010-06-26 19:19:00 · 13952 阅读 · 3 评论 -
SQL查询当前连接的活动(设置)的SET 选项
--查询当前连接的活动(设置)的SET 选项--法一:用DBCC查询已设置的内容,未显示项默认为OFFDBCCUSEROPTIONS;/*Set Option Value---------------------------- ---------------------------textsize 64512language 简体中文dateformat m原创 2010-06-26 11:15:00 · 2530 阅读 · 1 评论 -
SQL查询与修改数据库逻辑文件名,移动数据库存储路径示例
USEmydbGO--1.查询当前数据库的逻辑文件名SELECTFILE_NAME(1)AS'File Name 1',FILE_NAME(2)AS'File Name 2';--或通过以下语句查询:--SELECT name FROM sys.database_files /*File Name 1 File Name 2------------------- --------------------mydb mydb_log(1 行受影响)*/--2.修改数原创 2010-06-26 21:51:00 · 14105 阅读 · 1 评论 -
SQL语句新建用户、对用户授权、删除用户实例
<br /><br /> <br />USEmydb<br />GO<br />--1. 新建测试用户<br />--1.1 添加登录用户和密码 <br />EXECsp_addloginN'tony','123'<br />--1.2 使其成为当前数据库的合法用户 <br />EXECsp_grantdbaccessN'tony' <br /> <br />--2.设置操作授权<br />--2.1 授予对自己数据库的所有权限 <br />EXECsp_addrolememberN原创 2010-06-27 01:54:00 · 46449 阅读 · 5 评论 -
SQL Server 的最大容量规范
SQL Server 2008 下表指定在 SQL Server 数据库中定义的或在 Transact-SQL 语句中引用的各种对象的最大大小和最大数量。SQL Server 数据库引擎对象 最大大小/数量 - SQL Server(32 位) 最大大小/数量 - SQL Server(64 位) 批大小165,536 * 网络数据包大小65,536 * 网络数据包大小每个短字符串列的字节数8,0008,000每个 GROUP BY、ORDER BY 的字节数8,0608,060每个索引键的字节数29009原创 2010-06-26 22:18:00 · 3190 阅读 · 2 评论 -
一个关于“OLE DB 提供程序 'sqloledb' 指出该对象中没有任何列”错误的解决方法
--一个关于“OLE DB 提供程序sqloledb 指出该对象中没有任何列”错误的解决方法 --在网上看到一个网友提问把系统过程的结果输出到文本文件,心想这不简单呀,bcp+openrowset呀轻松解决呀,本着认真的态度(其实是怕写个错误的让人家笑话我)我在我的查询分析器里写个试:USE mydbGO --1SELECT * FROM OPENROWSET(转载 2010-05-22 18:14:00 · 2992 阅读 · 0 评论 -
检索数据库中无效的视图
--检索数据库中无效的视图IF OBJECT_ID(PROC_Validate_VIEW) IS NOT NULL DROP PROC PROC_Validate_VIEWGOCREATE PROC PROC_Validate_VIEWASSET NOCOUNT ON CREATE TABLE #TB( Viewname NVARCHAR(原创 2010-05-27 20:24:00 · 1260 阅读 · 0 评论 -
SQL2005备份与还原相关参数与方法说明
18.3 用T-SQL语言备份数据库T-SQL语言里提供了BACKUP DATABASE语句来备份数据库,用该语句可以完成完整、差异、文件和文件组备份。如果要备份事务日志则要用BACKUP LOG语句。虽然BACKUP DATABASE语句可以进行完整、差异、文件和文件组备份,但是在完整备份、差异备份与文件和文件组备份的语法上有一点点出入,下面分别介绍几种类型的备份方法。18.3.1转载 2010-05-25 22:43:00 · 6249 阅读 · 1 评论 -
OBJECTPROPERTY用法整理
语法 OBJECTPROPERTY (id,property )参数id 是表示当前数据库中对象 ID 的表达式。id 的数据类型为 int,并假定为当前数据库上下文中的架构范围内的对象。property 一个表达式,提供 id 指定的对象的返回信息。property 可以是下列值之一:注意:除非另外注明,否则出现以下情况时,将返回 NULL:property 不是有效的属性名称,id 不是有效的对象 ID,id 不是指定的 property 支持的对象类型,或者调用方无权查看对象元数据。 属性名称 对原创 2010-06-03 16:37:00 · 10566 阅读 · 1 评论 -
通过SQL查询SQL服务器和客户端IP地址
------------------------------------------------------------------------------------ Author : htl258(Tony)-- Date : 2010-06-26 23:02:30-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) -- Jul 9 2008 14:43:34 -- Cop原创 2010-06-26 23:13:00 · 13225 阅读 · 2 评论 -
SQL批量更改用户表内字符型字段的排序规则
---------------------------------------------------------------------------- Author : htl258(Tony)-- Date : 2010-04-23 20:33:15-- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86原创 2010-04-23 21:55:00 · 5056 阅读 · 1 评论 -
SQL2005以上版本数据库级触发器的应用
--SQL2005以上版本数据库级触发器的应用 --1.记录数据库结构的所有变化CREATE TABLE [dbo].[tblAuditLog]( [ID] [int] IDENTITY(1,1) NOT NULL, [Command] [nvarchar](1000) NULL, [PostTime] [nvarchar](24) NULL, [HostNa原创 2010-03-29 23:25:00 · 1133 阅读 · 1 评论 -
批量去除varchar,nvarchar字段多余空格
http://topic.youkuaiyun.com/u/20100329/19/78e617a6-1259-4dd2-a5ac-22c70f9b20c1.html?seed=1239289930&r=64279791#r_64279791 declare @s nvarchar(500) declare c cursor for select update [+a.name+原创 2010-03-29 19:34:00 · 2558 阅读 · 0 评论