日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoint_Config)进行些不正常操作如数据库在读写时而无故停止数据库,从而导致Sql Server 2005数据库不正常中断,当再次打开数据库时会发现某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的. 解决方法: 当数据库发生这种操作故障时,按如下操作步骤可解决此问题,打开…
本文上接SQL SERVER 2005/2008 中关于架构的理解(一)      架构的作用与示例 用户与架构(schema)分开,让数据库内各对象不再绑在某个用户账号上,可以解决SQL SERVER 2000及以前版本中“用户离开公司"问题,也就是在拥有该对象的用户离开公司,或离开该职务时,不必要大费周章地更改该用户所有的对象属于新的用户所有.另外,也可让 DBA 在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容易区别.也就是说,在单一数据库内,不同部门或目的的对…
SQL SERVER 2005/2008 中关于架构的理解(一) 在一次的实际工作中碰到以下情况,在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry' 无效.”.当带上了架构名称之后(如“cus.CustomEntry”),却又能查询到表中的数据了,但是查询语句是已经写死在了应用程序中的,如果要进行更改,就有很大的工作量, 这是一件很郁闷的事情.于是想从数据库层面上解决此问题,在查询了大量的资料之后,对于SQ…
Sql server 7.0/2000下 SqlCacheDependency使用轮询的方式进行缓存失效检查, 虽然ms说对服务器压力不大, 但还是有一些的, 而且对于不常改动的混存内容无休止的轮询感觉有点浪费, 不很经济. Sql server 2005/2008下增加使用查询通知方式进行缓存失效检查, 它通过Sql Server内部的消息队列进行异步通知, 这样就大大减轻了服务器的压力, 实现的很经济, 下面就是具体的步骤: 1.检测是否已经启用Service Broker Select D…
我们知道,SQL Server 2005/2008的系统存储过程在正常情况下是无法直接修改的. 尽管本文是介绍怎样修改它的,但在这里,我还是建议大家尽量不要去修改它.(好像有点绕哈...) OK,闲话少说,下面我举个实际案例讲解一下,如对于系统存储过程sp_Monitor,若要运行此存储过程,用户必须是 sysadmin 固定服务器角色的成员. 通过执行命令:sp_helptext 'sp_Monitor',我们可以看到,该过程中存在这样的语句: if (not (is_srvrolemembe…
在一次的实际工作中碰到以下情况,在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry' 无效.”.当带上了架构名称之后(如“cus.CustomEntry”),却又能查询到表中的数据了,但是查询语句是已经写死在了应用程序中的,如果要进行更改,就有很大的工作量, 这是一件很郁闷的事情.于是想从数据库层面上解决此问题,在查询了大量的资料之后,对于SQL SERVER中的架构有所了解,并解决以上问题. 下面来说说,自…
SQL SERVER 2005修改数据库名称,包括物理文件名和逻辑名称   原来数据库名称为 aa,物理文件名称为 aa.mdf 和 aa_log.ldf:   需要修改数据库名称为 bb,物理文件名称为 bb.mdf 和 bb_log.ldf:   具体操作步骤(以sqlserver2005操作 为例):   把原有数据库进行备份(选择数据库->右键->任务->备份),被分为aa.bak:   新建数据库bb,然后 右键->任务->还原->数据库,选择“源设备”,浏览…
SQL2005 还原数据库失败,提示如下: SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法 出现错误时操作步骤为:右击数据库--->任务--->还原--->文件和文件组--->源设备(选择备份文件)--->指定备份文件位置--->添加选定文件.在“还原文件和文件组”对话框中点击“确定”按钮,即出现上面显示的错误. 正确的步骤为: 右击数据库--->任务--->还原--->数据库--->源设备…
不少需要用到sql2005的程序,有很多新手还是会操作,这里写个详细的图文教程送个菜鸟们,高手请飘过.适用于独立主机的朋友使用,如果你还没安装,请按照这个教程来安装 SQL Server 2005图文安装教程,超详细 下面是SQL Server 2005恢复数据库的详细过程 1:打开SQL Server Management Studio并登录,这个一般在开始——程序里面找到 2:鼠标右键单击数据库——新建数据库 3:弹出来的框里,填写数据库名称,我这里填写的是sqlqtdy,这个根据自己需求来…
SQL2005 还原数据库失败,提示如下: SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法 出现错误时操作步骤为:右击数据库--->任务--->还原--->文件和文件组--->源设备(选择备份文件)--->指定备份文件位置--->添加选定文件.在“还原文件和文件组”对话框中点击“确定”按钮,即出现上面显示的错误. 正确的步骤为: 右击数据库--->任务--->还原--->数据库--->源设备…
错误描述: 今天备份sqlserver 2008数据库时候,想要将备份文件放在f盘的根目录下,结果提示如下信息:备份对于服务器“服务器名”失败.(Microsoft.SqlServer.Smo)其他信息:System.Data.SqlClient.SqlError:无法打开备份设备'f:\abc.bak'.出现操作系统错误5(拒绝访问.).(Microsoft.SqlServer.Smo) 解决方法: 因为Sql Server 2005 可能存在一个小Bug,不能将备份文件放在根目录下,必须放在…
适用于SQL Server 2005的方法 Backup Log DNName WITH no_log GO DUMP TRANSACTION DNName WITH no_log GO USE DNName ) GO 说明:由于SQL Server 2008对文件和日志管理进行了优化,所以以上语句在SQL2005中可以运行但在SQL2008中已经被取消. 适用于SQL Server 2008的方法 USE [master] GO ALTER DATABASE DNName SET RECOVE…
CREATE function dbo.regexReplace ( @source ntext, --原字符串 ), --正则表达式 ), --替换值 , --是否是全局替换 --是否忽略大小写 ) ) AS begin declare @hr integer declare @objRegExp integer ) exec @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT begin exec @hr = sp_OADestroy…
Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况.诊断问题和优化性能.常规服务器动态管理对象包括:– dm_db_*:数据库和数据库对象– dm_exec_*:执行用户代码和关联的连接– dm_os_*:内存.锁定和时间安排– dm_tran_*:事务和隔离– dm_io_*:网络和磁盘的输入/输出此部分介绍为监控 SQL Server…
PHP自带的MSSQL扩展php_mssql.dll原来是给SQL Server 2000用的,难怪连接不上2008?! -_-!!要使用SQL Server 2005以上版本,就要用到微软为PHP提供的最新第三方扩展SQL Server Driver for PHP才行,最新版本是2.0的.需要到微软官方去下载新的驱动. 下载驱动程序,我下载的是2.0的,下载后安装释放程序,里面有以下文件: php_pdo_sqlsrv_52_nts.dll php_pdo_sqlsrv_52_ts.dll…
自2000版本起,SQL Server企业版中引入分布式分区视图,允许你为分布在不同的SQL 实例的两个或多个水平分区表创建视图. 简要步骤如下:根据Check约束中定义的一组值把大表分割成更小的一些表.Check约束确保每个小表保存着不能保存在其他表的唯一数据.然后使用Union All创建分布式分区视图,把所有这些小表联结成单独的结果集. 这样对性能的改善是有益的,例如,如果视图根据日期分区,并用查询来返回仅保存在一个分区表中的行,那么SQL Server会智能地只搜索一个分区而不是分布式分…
原文:http://www.cnblogs.com/ForFreeDom/archive/2009/10/16/1584680.html 在sqlserver2005或SQL2008数据库项目中,创建视图或存储过程的时候往往有以下开头语句: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ……………… ……………… GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO 这些是 SQL-92 设…
1.通过可视化操作来管理和查看触发器 在Microsoft SQL Server Management Studio中,选中某一数据库的某一张表时,在“对象资源管理器详细”窗口中有“触发器”项.通过“触发器”的右键菜单功能,我们可以新建触发器.如果原来的表中已经存在了触发器,通过双击“触发器”项可以查看到具体的触发器,在此处可以执行 修改.删除等操作. 2.通过查询分析器来管理和查看触发器1)查看表中的触发器类型:sp_helptrigger:返回对当前数据库的指定表定义的 DML 触发器的类型…
1.打开SQL Server Manager管理器,在左面找到 ‘安全性’ 单击右键 选择‘新建”->“登录”, 如下图 2.弹出对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉.如图: 3.点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾,在下面一栏中‘db-owner’和‘public’前面打勾.如下图: 4.点击'状态',在右面栏中 选中"授予".“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过…
数据库复制:   简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改. 复制的模式有两种:推送模式和请求模式,推送模式是主服务器修改后,自动发给备份服务器,请求模式是,备份服务器自动去请求,个人开始也比较重视去测试两个模式的差别,但是测试发现,其实两个模式差别不是很大,在当今的服务器配置中,没必要考虑这么多,虽然会有一些差别,但是可在可以忽略的范围之内,建议直接选择推送模式,因为配置起来相对简单   数据库发布类型有三种:快照发布,事务性发布,具有可更…
数据库复制:   简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改. 复制的模式有两种:推送模式和请求模式,推送模式是主服务器修改后,自动发给备份服务器,请求模式是,备份服务器自动去请求,个人开始也比较重视去测试两个模式的差别,但是测试发现,其实两个模式差别不是很大,在当今的服务器配置中,没必要考虑这么多,虽然会有一些差别,但是可在可以忽略的范围之内,建议直接选择推送模式,因为配置起来相对简单   数据库发布类型有三种:快照发布,事务性发布,具有可更…
转自:http://www.maomao365.com/?p=4942 下文主要讲述:重复数据只获取一条的方法 row_number函数在数据库中的功能是为每一行 按照一定的规则生成一个编号,我们常常利用这一属性,对表进行分页操作,下文我们将讲述采用 row_number函数删除表中重复数据行 /*建表*/ )) go /*生成数据*/ insert into A(keyId,info)values (,,,,,'e'), (,,,,,'e'), (,,,,,'e') go /*删除 keyId…
DECLARE UpdateStatisticsTables CURSOR READ_ONLY FOR 02   SELECT sst.name, 03          Schema_name(sst.schema_id) 04   FROM   sys.tables sst 05   WHERE  sst.TYPE = 'U' 06 DECLARE @name   VARCHAR(80), 07         @schema VARCHAR(40) 08   09 OPEN UpdateS…
1.查看当前的存放路径: select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files where database_id=db_id(N'ComDataCenter'); 2.修改存放路径,这里的数据库为:ComDataCenter alter database ComDataCenter modify file ( name = ComDataCenter, fil…
本文转载自:http://hi.baidu.com/ajyajyajy/item/4e2a7f4dc83393d2c1a592c1 use DBNAMEgoselect * from sysobjects where xtype='U'; --这是查询所有表的信息select count(*) from sysobjects where xtype='U' --这是查询表的数量 ‍select a.name, b.rows from sysobjects a with(nolock) join…
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 服务器的迁移,因为业务使用的数据库是SQL Server 2005,所以就要首先对数据库进行备份. 备份可以分为手动备份和自动备份,我们先来介绍手动备份. 打开SQL Server Management Studio, 点击要备份的数据库-"任务"-" 备份",如下图: 在"磁盘"选项中,选择自己要把数据库备份文件存放的磁盘,如下图: 以上操作完毕后,我们点击完成,数据库就开始备份,如下图: 通过上…
一.SQL SERVER 7.0/2000和SQL SERVER 2005的简介及比较 1.1     SQL SERVER 7.0/2000 SQL SERVER 7.0/2000没有提供内置的支持数据缓存依赖的功能,所以只能通过采用添加特定数据库表.触发器等方式,通过后台不断轮询数据库来检查数据更改.当在 数据表上执行INSERT.UPDATE. DELETE操作时将自动发出更改通知,所以只能监测到表级,具体到哪一行是没法跟踪的. 使用方法步骤: 1.1.1     使用aspnet_reg…
    背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档的时候,坑爹的事情发生了,居然发现有两三个工厂使用的还是SQL SERVER 2005数据库,要命的是这几个工厂没有SQL SERVER 2008的数据库服务器.而其中两个正准备做服务器的迁移升级,但是IBM的存储还没有到,没办法,这么"反人类,阻挡历史进程"的事情就发生了,我以为这种小概…
1. 生成for 2005版本的数据库脚本  2008 的manger studio  -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例  -- 右键要转到2005的库  -- 任务  -- 生成脚本  -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2005的库  -- 勾选"为所选数据库中的所有对象编写脚本"5-- 在接下来的"选择脚本选项"中, 将”编写创建数据库的脚本”设…
最近参与的一个系统涉及到把SQL Server 2k的数据迁移到Oracle 10G这一非功能需求.特将涉及到相关步骤列举如下供大家参考: 环境及现有资源: 1.OS: Windows 7 Enterprise 32 bits 2.开发电脑安装有数据库SQL Server 2008.以及Oracle 10G R2 3.客户提供的SQL Server 2k的数据库备份.bak文件 4.Visual Studio 2008 5.Oracle ODAC 1020221 可选方案: 1.DTS(SQL…