SQL Server数据库镜像配置步骤
一、使用证书实现主备SQL Server实例的互通
1.在主机和备机上分别创建证书
在主机上执行如下语句:
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'abcdefg';
CREATE CERTIFICATE CERT_HOST_A WITH SUBJECT = 'HOST_A certificate' ,
START_DATE = '01/01/2010';
GO
在备机上执行如下语句:
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'abcdefg';
CREATE CERTIFICATE CERT_HOST_B WITH SUBJECT = 'HOST_B certificate' ,
START_DATE = '01/01/2010';
GO
2.创建连接的端点
分别在主备机上执行如下语句:
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE A1 , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
GO
3.备份证书
在主机上执行如下语句,备份主机上已创建好的证书
BACKUP CERTIFICATE CERT_HOST_A TO FILE = 'D:\CERT_HOST_A .cer';
在备机上执行如下语句,备份备机上已创建好的证书
BACKUP CERTIFICATE CERT_HOST_B TO FILE = 'D:\CERT_HOST_B.cer';
4.互换证书
将HOST_A_cert.cer复制到备机的D盘,HOST_B_cert.cer复制到主机的D盘.
5.添加登陆名和用户
在主机上执行如下语句,以添加登陆名和用户
CREATE LOGIN HOST_B_Login WITH PASSWORD = 'abcdefg';
CREATE USER HOST_B_User FOR LOGIN HOST_B_Login;
CREATE CERTIFICATE HOST_B_CERT AUTHORIZATION HOST_B_User from FILE = 'D:\CERT_HOST_B.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_Login];
在备机上执行如下语句,以添加登陆名和用户
CREATE LOGIN HOST_A_Login WITH PASSWORD = 'abcdefg';
CREATE USER HOST_A_User FOR LOGIN HOST_A_Login;
CREATE CERTIFICATE HOST_A_CERT AUTHORIZATION HOST_A_User from FILE = 'D:\CERT_HOST_A.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_Login];
二、建立镜像
1.同步登陆名和密码,避免出现孤立用户
在主机上执行如下语句,以获得登陆名和sid
USE master;
select sid,name from syslogins;
在备机上执行如下语句,以添加主机上的登陆名
USE master;
exec sp_addlogin
@loginame = '<LoginName>',
相关文档:
public class SqlCheck
{
public SqlCheck()
{
//
// TODO: 在此处添加构造函数逻辑
& ......
想使用PL/SQL开发工具,但不想安装那个几百兆的oracle客户端,于是安装了oracle 10g inistant client,40多M吧。
安装后PL/SQL可以用了,但是查询出记录里面的中文却是乱码。折腾了好久才找出解决方法:
设置环境变量:NLS_LANG,值为Oracle数据库设置的字符集,在我的系统里面设置是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK ......
最近在做一个数据统计,要求对一个表中的数据按照两个维度呈现,也就是传统的交叉表
比如,有一个问题表,有三个字段,(标题、问题类别、问题状态)
要求按照不同的类别,分别统计处各个状态的问题数量(如:产品问题中未处理的数量、服务问题中遗留问题数量等等)。
经过查找和尝试,终于生成了结果,现在分享给大家。 ......
1.一道SQL语句面试题,关于group by
表内容:
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负
如果要生成下列结果, 该如何写sql语句?
胜 负
2005-05-09 2 2
2005-05-10 1 2
------ ......