文章分类 - SQL
摘要:SQL server 2005高可用性之数据库镜像,是SQL server 2005的新技术之一,是一种基于软件的高可用性解决方案,可以对不同服务器或同一服务器不同实例之间的数据库实验无数据延迟,自动故障转移的热备份。数据库镜像是基于数据库级别的,只适用于使用完整恢复模式的数据库。 一、实验目的:掌握SQL server 2005数据库镜像原理并配置数据库镜像、监控镜像状态及实现故障转移。 二、数据库镜像的组成 数据库镜像由二个数据库必须的数据库角色组成,一个是主体服务器角色,一个是镜像服务器角色。还有一个可选的服务器角色为见证服务器角色。 1. 主体服务器(Principal Role)之主
阅读全文
摘要:一 概述 数据库镜像是SQL SERVER 2005用于提高数据库可用性的新技术。数据库镜像将事务日志记录直接从一台服务器传输到另一台服务器,并且能够在出现故障时快速转移到备用服务器。可以编写客户端程序自动重定向连接信息,这样一旦出现故障转移就可以自动连接到备用服务器和数据库。 优势:数据库镜像可以在不丢失已提交数据的前提下进行快速故障转移,无须专门的硬件,并且易于配置和管理。 二 环境准备 操作系统:Window 2003 enterprise sp2(至少两台,如要启用自动故障转移,必需三台) SQL版本:MSSQL SERVER 2005 SP3 检查SQL SERVER版本: exec
阅读全文
摘要:--查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from info where DateDiff(hh,datetime,getDate())<=24 --info为表名,datetime为数据库中的字段值 --查询当天:select * from info where DateDiff(dd,datetime,getdate())=0--查询24小时内的:select * from info where DateDiff(hh,datetime,getDate
阅读全文
摘要:SQLServer数据库"因为它正用于复制"的错误解决办法:EXEC sp_removedbreplication '数据库名称';sp_removedbreplication:该存储过程在发布服务器的发布数据库中或在订阅服务器的订阅数据库中执行。 该过程将从执行它的数据库中删除所有复制对象,但它不会从其他数据库(例如,分发数据库)中删除对象。
阅读全文
摘要:分布式查询可以访问来自多种异类数据源的数据,而这些数据可存储在相同或不同的计算机上。Microsoft SQL Server 通过使用 OLE DB(Microsoft 通用数据访问应用程序接口 (API) 规范)支持分布式查询。此"分布式查询"部分讨论一般的分布式查询概念,并描述如何在分布式查询中使用 Transact-SQL 语句访问单独的 SQL Server 实例上的数据或非 SQL Server 数据源。 分布式查询支持 SQL Server 用户访问: 存储在多个 SQL Server 实例中的分布式数据。存储在各种可使用 OLE DB 提供程序访问的关系和非关
阅读全文
摘要:一、存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> Create Procedure MyProcedure ( @Param1 nvarchar(10), @param2 nvarchar(10) ) AS Begin Set NOCOUNT ON; Set
阅读全文
摘要:由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份、截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了。备份和计划就不说了,现在就说下怎么把它先删除吧:1:先分离数据库2:为了保险,先不要删除,把LDF文件重命名下3:附件数据库。4:OK。以上可能遇到的问题:1:有用户连接,无法分离(勾选“断开所有连接”)2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了,再去数据库数据目录下看看,LDF只有几百K,这是自动生成的,附件成功。3:OK,附件成功,打开应用,看访
阅读全文
摘要:一、目的在前面的文章中我已经介绍了SQL Server合并(删除)分区解惑 和SQL Server 2005 分区模板与实例 和SQL Server 动态生成分区脚本,这篇文章就是在上面3篇文章衍生出来的。我们的服务器的数据已经有了800G,并且每天进数据大概有120W条记录(数据空间大概为7G),而服务器现在已经没有太多的磁盘空间了,面对这样的问题,一般都是使用交换表分区来快速删除数据,并使用之前的分区来存放新进的数据,如果每次都人工的话就太麻烦了,所以我对这个如何进行交换分区删除数据来清理磁盘空间做成了自动化。希望大家拍砖。二、分析与设计思路分区特点:分区使用了自增ID作为分区字段;分区的
阅读全文
摘要:declare @randnum tinyint set @randnum = cast(rand()*37 as tinyint)select @randnum
阅读全文
摘要:使用SQL语句连接查询位于两个不同的服务器不同的数据库中的两张表,最初将SQL语句写成以下形式select*fromProductpinnerjoinopendatasource('SQLOLEDB','DataSource=Macaco-Online;userID=sa;password=sa密码;').Company.dbo.Productp2onP.PID=p2.PIDgo执行时出现错误提示:-----------------------------------------------------------------消息 15281,级别 16,状态
阅读全文
摘要:目标数据库只能是Sqlserver 来源数据库 无所谓 只要能用ado.net 将来源数据读取到Dataset或者Datareader 中就可以using System.Data;using System.Diagnostics;using System.Data.SqlClient; string connectionString = "Data Source=HG-J3EJJ9LSW5PY;Initial Catalog=Test;User ID=sa;password=hg"; DataTable dataTable = sql_.select_datagrid(&q
阅读全文
摘要:--通过日志恢复数据库 USE master --创建数据库 CREATE DATABASE db ON PRIMARY( NAME='db_data', FILENAME= 'D:\DATA\db_data.MDF') LOG ON( NAME='db_log', FILENAME ='D:\DATA\db.LDF') GO USE db--创建表 CREATE TABLE db.dbo.ta(id int) INSERT db.dbo.ta SELECT id FROM sysobjects GO --做文件组备份 BACKU
阅读全文
摘要:Execsp_droplinkedsrvloginDBVIP,NullExecsp_dropserverDBVIPEXECsp_addlinkedserver@server='DBVIP',--被访问的服务器别名@srvproduct='',@provider='SQLOLEDB',@datasrc='Server2'--要访问的服务器EXECsp_addlinkedsrvlogin'DBVIP',--被访问的服务器别名'false',NULL,'sa',--帐号'thankyoubobby'--密码Select*fromDBVIP.pubs.dbo.orders
阅读全文
摘要:作为DBA,不仅仅是帮助开发人员写优秀的查询脚本、高效的数据存储架构。其实更多时候都是在运维,大部分工作时间都不算饱和的,可是为什么有些DBA如此忙碌、狼狈不抗甚至等到客户或者乙方公司抱怨呢,那很多原因就是对SQL Server 的基础监控架构不熟悉,不够了解,不能自动化安排监控任务。 获取通知:SQL Server为我们提供的诸如SQL Mail,Database Mail 邮件方式的信息发送方式,因此我们利用邮件来进行最基础的获取通知异常等情况。我在之前的文章提过Databasemail,大家可以做为参考MSSQL数据库邮件系列一(环境搭建)MSSQL数据库邮件系列二(SSMS和TSQL)
阅读全文
摘要:CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 WHEN 条件3 THEN 结果3 WHEN 条件4 THEN 结果4......... WHEN 条件N THEN 结果N ELSE 结果XENDCase具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女'ELSE '其他' END例如:SELECT id,
阅读全文
摘要:1.使用select @@ServerName可以看到当前数据库的服务器名 2.从Sys.SysServers表中可以看到当前的所有服务器名 3.使用 sp_dropserver 'servername' 将这个服务器名删除。 4.使用 sp_addserver 'new servername','LOCAL'将本地服务器重新添加到服务器表中 5.查询Sys.SysServers表,核对是否已更改 6.重启数据库服务,修改完成 如下:select @@servernameselect * from Sys.SysServerssp_dropserver 'PC-201002101233\SQL
阅读全文
摘要:清除表数据一般有两种方法:1.truncate table tablename2.delete from tablename两者最大的区别就是delete使写日志文件的,而truncate不写日志直接删除,前者可恢复,而后者无法恢复,后者的危险性更高,所以一般不建议用truncate;如果要利用SQL语句一次清空所有数据.可以有三种方法:1.搜索出所有表名,构造为一条SQL语句declare@trun_namevarchar(8000)set@trun_name=''select@trun_name=@trun_name+'truncatetable'+[name]+''fromsysobje
阅读全文
摘要:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Configuration;usingCerEgip.DAL;namespaceCerEgip.Common{///summary///分页类,通过存储过程进行分页////summarypublicclassPager{#region参数privateintpageIndex=1;privateintrecordCount=0;privateintpage
阅读全文
摘要:一、场景这一段时间使用SQL Server 2005 对几个系统进行表分区,这几个系统都有一些特点,比如数据库某张表持续增长,给数据库带来了很大的压力。现在假如提供一台新的服务器,那么我们应该如何规划这个数据库呢?应该如何进行最小宕机时间的数据库转移呢?如果规划数据库呢?二、环境准备要搭建一个好的系统,首先要从硬件和操作系统出发,好的设置和好的规划是高性能的前提,下面我就来说说自己的一些看法,欢迎大家提出异议;1) 对磁盘做RAID0(比如3*300G),必要时可以考虑RAID5、RAID10;2) 使用两张千兆网卡,一张用于外网,一张用于内网(这也需要千兆路由器的配合);3) 逻辑分区C为系
阅读全文

浙公网安备 33010602011771号