<?xml version="1.0" encoding="utf-8"?><Snippet><Entry KeyWord="SET XACT_ABORT ON(2012)" ActionWord=" " Tipo="1" Flag="0">
SET XACT_ABORT ON
建议使用TRY……CATCH代替XACT_ABORT
如果涉及跨实例调用或数据处理,请在FORM中注释说明</Entry><Entry KeyWord="Grant,User,login,deny授权(2012)" ActionWord=" " Tipo="1" Flag="0">
--CHECK_POLICY 指定应对此登录名强制实施运行SQL Server 的计算机的Windows 密码策略。默认值为ON。
CREATE LOGIN yind WITH PASSWORD='123',CHECK_POLICY=OFF
go
--添加role级别
use ssb3
Create user yind for login yind
Go
--db_owner权限
EXEC sp_addrolemember @rolename='db_owner',@membername='yind'
Go
--读权限
EXEC sp_addrolemember @rolename='db_datareader',@membername='yind'
go
--写权限
EXEC sp_addrolemember @rolename='db_datawriter',@membername='yind'
go
---赋予用户数据库test的select权限
use TEST1
go
GRANT SELECT to yind
GO
--赋予数据库schema的权限
GRANT SELECT,EXECUTE ON SCHEMA::MySchema TO yind
---添加server级别,数据库管理员权限
--EXEC sp_addsrvrolemember @loginame='yind',@rolename='sysadmin'
--go
---清理用户
--drop user yind
--drop login yind
--授权给对象
USE ssb3
GRANT SELECT ON OBJECT::PubSubService.Exception_Record TO edidbo;
GO
GRANT delete,update ON OBJECT::PubSubService.Exception_Record TO edidbo;
GO
--取消权限
REVOKE SELECT,delete ,insert,alter ON OBJECT::dbo.iteminventory FROM edidbo;
GO
REVOKE SELECT,delete ,insert,alter ON OBJECT::dbo.itempricesetting FROM edidbo;
GO
---拒绝权限
deny delete ,insert,alter ON dbo.iteminventory to edidbo;
GO
deny delete ,insert,alter ON dbo.itempricesetting to edidbo;
---开通跟踪权限trace
USE master;
GRANT ALTER TRACE TO PoDbo;
GO
</Entry><Entry KeyWord="ssb 故障处理(2012)" ActionWord=" " Tipo="1" Flag="0">
use ssb3
go
select convert(xml, message_body),* from
sys.transmission_queue
---查找异常表
select * from PubSubService.Exception_Record
--删除异常
--delete PubSubService.Exception_Record
--发布
select * from pubsubservice.publications_record with (nolock)
where ArticleCategory='NESO_OrderProcess'
--订阅
select * from pubsubservice.subscriptions_record with (nolock)
where ArticleCategory='NESO_OrderProcess'
---删除queue信息
select 'end conversation '''+convert(varchar(50), conversation_handle) +''' WITH CLEANUP '
from sys.transmission_queue
where transmission_status like 'the target service name could not be found%'
------------检查队列错误信息-----------
select * from sys.services where name='http://soa.newegg.com/SOA/USA/CrossApplication/V10/EDIBIlling/HubUpload/BillingInfoTransferService'
select activation_procedure, * from sys.service_queues
where object_id=1314103722
------------检查工作线程----------------
select *
from sys.dm_broker_activated_tasks
alter queue [_http://soa.newegg.com/SOA/USA/InfrastructureService/V10/Warehouse/AllQueue]
with activation(status =on,max_queue_readers = 2)
----------日志错误文件-----------------------------------
sp_readerrorlog
---------------检查conversation的id是否一致
select * from sys.conversation_endpoints
</Entry><Entry KeyWord="添加linkserver(2012)" ActionWord=" " Tipo="1" Flag="0">
---添加linkserver
EXEC master.dbo.sp_addlinkedserver
@server=N's33sql01',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'S1QSQL09\S33SQL01';
go
EXEC master.dbo.sp_serveroption @server=N's33sql01', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N's33sql01', @optname=N'rpc out', @optvalue=N'true'
go
--指定linkserver的用户
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N's33sql01',
@useself=N'false',
@rmtuser='RepDbo',
@rmtpassword='Rep@Dbo'
</Entry><Entry KeyWord="filter repl (2012)" ActionWord=" " Tipo="1" Flag="0">use ItemMaintainNewegg
go
select filter,filter_clause,* from dbo.sysarticles a
where a.name='arinvt01'</Entry><Entry KeyWord="log 日志收缩(2012)" ActionWord=" " Tipo="1" Flag="0">USE customer
GO
DBCC SHRINKFILE(14,1024) WITH NO_INFOMSGS
GO</Entry><Entry KeyWord="ssb 修改routes(2012)" ActionWord=" " Tipo="1" Flag="0">USE [SSB]
GO
ALTER ROUTE [http://soa.newegg.com/SOA/USA/CrossApplication/V10/EDIBIlling/NEGDCDB006/BillingInfoTransferRoute]
WITH ADDRESS = N'TCP://NEG-DC-DB006:4022'
</Entry><Entry KeyWord="ROW_NUMBER 自更新(2012)" ActionWord=" " Tipo="1" Flag="0">update tb set LogID=num from
(
select top 300000000 600000000+ROW_NUMBER ()over (order by InDate) num,InDate,LogID
from PMT_UPGTransactionLog_2008 B
order by InDate
) tb</Entry><Entry KeyWord="c++ itoa ,atoi(2012)" ActionWord=" " Tipo="1" Flag="0">1.itoa
在linux下没有itoa这个函数
原型:char *itoa(int value,char *string,int radix)
用法:#include <stdlib.h>
功能:将整数value转换成字符串存入string, radix为转换时所用基数(保存到字符串中的数据的进制基数 2 8 10 16)
说明:返回指向转换后的字符串的指针
举例:
#include<stdlib.h>
#include<stdio.h>
int main(void)
{
int number = 12345;
char string[25];
itoa(number, string,10);
printf("integer = %d string = %s\n", number, string);
return 0;
}
2.atoi
字符串转换到整型数:
int atoi(const char *nptr)
跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
范例
/* 将字符串a 与字符串b转换成数字后相加*/
#include
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
}
执行
c=356
在linux下没有itoa这个函数
linux下的字符转换函数只有:
atof 字符串转换到浮点型数
atoi 字符串转换到整型数:
int atoi(const char *nptr);跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
atol 字符串转换到长整型数
ecvt 浮点型数转换到字符串,取四舍五入
fcvt 浮点型数转换到字符串,取四舍五入
gcvt 浮点型数转换到字符串,取四舍五入
strtod 字符串转换到浮点型数
strtol 字符串转换到长整型数
strtoul 字符串转换到无符号长整型数
toascii 将整形数转换合法的ASCII字符串</Entry><Entry KeyWord="create database(2012)" ActionWord=" " Tipo="1" Flag="0">
DECLARE @database NVARCHAR (4000)
DECLARE @user NVARCHAR (4000)
set @user='PMTDbo'
DECLARE MyCur CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR
select 'PaymentCenter2006'
union all select 'PaymentCenter2007'
union all select 'PaymentCenter2008'
union all select 'PaymentCenter2009'
union all select 'PaymentCenter2010'
union all select 'PaymentCenter2011'
union all select 'PaymentCenter2012'
OPEN MyCur
FETCH NEXT FROM mycur INTO @database
WHILE @@fetch_status=0
BEGIN
--declare @database sysname
declare @flag_run bit
--set @database=N'SSB3'
set @flag_run=1
if db_id(@database) is null
BEGIN
set nocount on
declare @SQL_path nvarchar(1000),@Log_path nvarchar(1000)
--定义文件夹路径
SELECT @SQL_path='D:\DATA\'+CASE @@SERVICENAME
WHEN 'MSSQLSERVER' THEN @@SERVERNAME
ELSE @@SERVICENAME
END+'\' + @database + '\SQL\'
,@Log_path='D:\DATA\'+CASE @@SERVICENAME
WHEN 'MSSQLSERVER' THEN @@SERVERNAME
ELSE @@SERVICENAME
END+'\' + @database + '\LOG\'
select @SQL_path,@Log_path
--创建文件路径
declare @sql nvarchar(4000)
SET @sql = '
CREATE DATABASE ' + @database + '
ON PRIMARY
( NAME = N''' + @database + '_Data''
, FILENAME = '''+@SQL_path+'' + @database + '_Data.mdf'+'''
, FILEGROWTH = 100MB )
LOG ON
( NAME = N''' + @database + '_Log''
, FILENAME = '''+@Log_path+'' + @database + '_Log.ldf'+'''
, FILEGROWTH = 100MB )'
IF @flag_run = 1
BEGIN
--Create folder directory
EXEC master.sys.xp_create_subdir @SQL_path
EXEC master.sys.xp_create_subdir @Log_path
EXEC(@sql)
END
ELSE
PRINT @sql
select file_id,type_desc,name,physical_name,state_desc
from sys.master_files with(nolock)
where database_id=db_id(@database)
---授权---
set @sql='use '+@database+CHAR(10)
+'Create user '+@user + ' for login '+@user+CHAR(10)
+'EXEC sp_addrolemember @rolename=''db_owner'',@membername='''+@user+''''
print @sql
EXEC(@sql)
END
ELSE
select file_id,type_desc,name,physical_name,state_desc
from sys.master_files with(nolock)
where database_id=db_id(@database)
FETCH NEXT FROM mycur INTO @database
END
CLOSE MyCur
DEALLOCATE MyCur
</Entry><Entry KeyWord="ssb queue 堵塞消息(2012)" ActionWord=" " Tipo="1" Flag="0">
USE SSB3
GO
SELECT
ServerName = @@servername
,QueueName = q.name
,MsgsCount = p.rows
,indate = Getdate()
FROM sys.objects as o
inner join sys.service_queues sq with(nolock)
on o.parent_object_id = sq.object_id
inner join sys.partitions as p with(nolock)
on p.object_id = o.object_id
inner join sys.objects as q with(nolock)
on o.parent_object_id = q.object_id
WHERE p.index_id = 1
and p.rows>= 1
</Entry><Entry KeyWord="C++ Pointers to Derived Types(2012)" ActionWord=" " Tipo="1" Flag="0">// test4-14.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fstream>
#include <iostream>
using std::string;
using std::cout;
using std::endl;
using std::cin;
class base {
int i;
public:
void set_i(int num) { i=num; }
int get_i() { return i; }
};
class derived: public base {
int j;
public:
void set_j(int num) { j=num; }
int get_j() { return j; }
};
int _tmain(int argc, _TCHAR* argv[])
{
base *bp;
derived d;
bp = &d; // base pointer points to derived object
// access derived object using base pointer
bp->set_i(10);
cout << bp->get_i() << " ";
(( derived *)bp)->set_j(22);
cout << (( derived *)bp)->get_j() << " ";
return 0;
}
</Entry><Entry KeyWord="C++ 指针的指针(2012)" ActionWord=" " Tipo="1" Flag="0">int main()
{
int x, *p, **q;
x = 10;
p = &x;
q = &p;
cout <<"x地址:"<< &x<<endl;
cout <<"p地址的值-->&x地址的值:"<< **q<<endl; // prints the value of x
cout <<"q指向p地址的值:"<< *q<<endl;
cout <<"q指向的地址: &p 地址"<< q<<endl;
cout <<"p地址:"<< &p<<endl;
cout <<"p指向的地址:&x 地址"<< p<<endl;
return 0;
}
</Entry></Snippet>
SET XACT_ABORT ON
建议使用TRY……CATCH代替XACT_ABORT
如果涉及跨实例调用或数据处理,请在FORM中注释说明</Entry><Entry KeyWord="Grant,User,login,deny授权(2012)" ActionWord=" " Tipo="1" Flag="0">
--CHECK_POLICY 指定应对此登录名强制实施运行SQL Server 的计算机的Windows 密码策略。默认值为ON。
CREATE LOGIN yind WITH PASSWORD='123',CHECK_POLICY=OFF
go
--添加role级别
use ssb3
Create user yind for login yind
Go
--db_owner权限
EXEC sp_addrolemember @rolename='db_owner',@membername='yind'
Go
--读权限
EXEC sp_addrolemember @rolename='db_datareader',@membername='yind'
go
--写权限
EXEC sp_addrolemember @rolename='db_datawriter',@membername='yind'
go
---赋予用户数据库test的select权限
use TEST1
go
GRANT SELECT to yind
GO
--赋予数据库schema的权限
GRANT SELECT,EXECUTE ON SCHEMA::MySchema TO yind
---添加server级别,数据库管理员权限
--EXEC sp_addsrvrolemember @loginame='yind',@rolename='sysadmin'
--go
---清理用户
--drop user yind
--drop login yind
--授权给对象
USE ssb3
GRANT SELECT ON OBJECT::PubSubService.Exception_Record TO edidbo;
GO
GRANT delete,update ON OBJECT::PubSubService.Exception_Record TO edidbo;
GO
--取消权限
REVOKE SELECT,delete ,insert,alter ON OBJECT::dbo.iteminventory FROM edidbo;
GO
REVOKE SELECT,delete ,insert,alter ON OBJECT::dbo.itempricesetting FROM edidbo;
GO
---拒绝权限
deny delete ,insert,alter ON dbo.iteminventory to edidbo;
GO
deny delete ,insert,alter ON dbo.itempricesetting to edidbo;
---开通跟踪权限trace
USE master;
GRANT ALTER TRACE TO PoDbo;
GO
</Entry><Entry KeyWord="ssb 故障处理(2012)" ActionWord=" " Tipo="1" Flag="0">
use ssb3
go
select convert(xml, message_body),* from
sys.transmission_queue
---查找异常表
select * from PubSubService.Exception_Record
--删除异常
--delete PubSubService.Exception_Record
--发布
select * from pubsubservice.publications_record with (nolock)
where ArticleCategory='NESO_OrderProcess'
--订阅
select * from pubsubservice.subscriptions_record with (nolock)
where ArticleCategory='NESO_OrderProcess'
---删除queue信息
select 'end conversation '''+convert(varchar(50), conversation_handle) +''' WITH CLEANUP '
from sys.transmission_queue
where transmission_status like 'the target service name could not be found%'
------------检查队列错误信息-----------
select * from sys.services where name='http://soa.newegg.com/SOA/USA/CrossApplication/V10/EDIBIlling/HubUpload/BillingInfoTransferService'
select activation_procedure, * from sys.service_queues
where object_id=1314103722
------------检查工作线程----------------
select *
from sys.dm_broker_activated_tasks
alter queue [_http://soa.newegg.com/SOA/USA/InfrastructureService/V10/Warehouse/AllQueue]
with activation(status =on,max_queue_readers = 2)
----------日志错误文件-----------------------------------
sp_readerrorlog
---------------检查conversation的id是否一致
select * from sys.conversation_endpoints
</Entry><Entry KeyWord="添加linkserver(2012)" ActionWord=" " Tipo="1" Flag="0">
---添加linkserver
EXEC master.dbo.sp_addlinkedserver
@server=N's33sql01',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'S1QSQL09\S33SQL01';
go
EXEC master.dbo.sp_serveroption @server=N's33sql01', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N's33sql01', @optname=N'rpc out', @optvalue=N'true'
go
--指定linkserver的用户
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N's33sql01',
@useself=N'false',
@rmtuser='RepDbo',
@rmtpassword='Rep@Dbo'
</Entry><Entry KeyWord="filter repl (2012)" ActionWord=" " Tipo="1" Flag="0">use ItemMaintainNewegg
go
select filter,filter_clause,* from dbo.sysarticles a
where a.name='arinvt01'</Entry><Entry KeyWord="log 日志收缩(2012)" ActionWord=" " Tipo="1" Flag="0">USE customer
GO
DBCC SHRINKFILE(14,1024) WITH NO_INFOMSGS
GO</Entry><Entry KeyWord="ssb 修改routes(2012)" ActionWord=" " Tipo="1" Flag="0">USE [SSB]
GO
ALTER ROUTE [http://soa.newegg.com/SOA/USA/CrossApplication/V10/EDIBIlling/NEGDCDB006/BillingInfoTransferRoute]
WITH ADDRESS = N'TCP://NEG-DC-DB006:4022'
</Entry><Entry KeyWord="ROW_NUMBER 自更新(2012)" ActionWord=" " Tipo="1" Flag="0">update tb set LogID=num from
(
select top 300000000 600000000+ROW_NUMBER ()over (order by InDate) num,InDate,LogID
from PMT_UPGTransactionLog_2008 B
order by InDate
) tb</Entry><Entry KeyWord="c++ itoa ,atoi(2012)" ActionWord=" " Tipo="1" Flag="0">1.itoa
在linux下没有itoa这个函数
原型:char *itoa(int value,char *string,int radix)
用法:#include <stdlib.h>
功能:将整数value转换成字符串存入string, radix为转换时所用基数(保存到字符串中的数据的进制基数 2 8 10 16)
说明:返回指向转换后的字符串的指针
举例:
#include<stdlib.h>
#include<stdio.h>
int main(void)
{
int number = 12345;
char string[25];
itoa(number, string,10);
printf("integer = %d string = %s\n", number, string);
return 0;
}
2.atoi
字符串转换到整型数:
int atoi(const char *nptr)
跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
范例
/* 将字符串a 与字符串b转换成数字后相加*/
#include
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
}
执行
c=356
在linux下没有itoa这个函数
linux下的字符转换函数只有:
atof 字符串转换到浮点型数
atoi 字符串转换到整型数:
int atoi(const char *nptr);跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
atol 字符串转换到长整型数
ecvt 浮点型数转换到字符串,取四舍五入
fcvt 浮点型数转换到字符串,取四舍五入
gcvt 浮点型数转换到字符串,取四舍五入
strtod 字符串转换到浮点型数
strtol 字符串转换到长整型数
strtoul 字符串转换到无符号长整型数
toascii 将整形数转换合法的ASCII字符串</Entry><Entry KeyWord="create database(2012)" ActionWord=" " Tipo="1" Flag="0">
DECLARE @database NVARCHAR (4000)
DECLARE @user NVARCHAR (4000)
set @user='PMTDbo'
DECLARE MyCur CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR
select 'PaymentCenter2006'
union all select 'PaymentCenter2007'
union all select 'PaymentCenter2008'
union all select 'PaymentCenter2009'
union all select 'PaymentCenter2010'
union all select 'PaymentCenter2011'
union all select 'PaymentCenter2012'
OPEN MyCur
FETCH NEXT FROM mycur INTO @database
WHILE @@fetch_status=0
BEGIN
--declare @database sysname
declare @flag_run bit
--set @database=N'SSB3'
set @flag_run=1
if db_id(@database) is null
BEGIN
set nocount on
declare @SQL_path nvarchar(1000),@Log_path nvarchar(1000)
--定义文件夹路径
SELECT @SQL_path='D:\DATA\'+CASE @@SERVICENAME
WHEN 'MSSQLSERVER' THEN @@SERVERNAME
ELSE @@SERVICENAME
END+'\' + @database + '\SQL\'
,@Log_path='D:\DATA\'+CASE @@SERVICENAME
WHEN 'MSSQLSERVER' THEN @@SERVERNAME
ELSE @@SERVICENAME
END+'\' + @database + '\LOG\'
select @SQL_path,@Log_path
--创建文件路径
declare @sql nvarchar(4000)
SET @sql = '
CREATE DATABASE ' + @database + '
ON PRIMARY
( NAME = N''' + @database + '_Data''
, FILENAME = '''+@SQL_path+'' + @database + '_Data.mdf'+'''
, FILEGROWTH = 100MB )
LOG ON
( NAME = N''' + @database + '_Log''
, FILENAME = '''+@Log_path+'' + @database + '_Log.ldf'+'''
, FILEGROWTH = 100MB )'
IF @flag_run = 1
BEGIN
--Create folder directory
EXEC master.sys.xp_create_subdir @SQL_path
EXEC master.sys.xp_create_subdir @Log_path
EXEC(@sql)
END
ELSE
PRINT @sql
select file_id,type_desc,name,physical_name,state_desc
from sys.master_files with(nolock)
where database_id=db_id(@database)
---授权---
set @sql='use '+@database+CHAR(10)
+'Create user '+@user + ' for login '+@user+CHAR(10)
+'EXEC sp_addrolemember @rolename=''db_owner'',@membername='''+@user+''''
print @sql
EXEC(@sql)
END
ELSE
select file_id,type_desc,name,physical_name,state_desc
from sys.master_files with(nolock)
where database_id=db_id(@database)
FETCH NEXT FROM mycur INTO @database
END
CLOSE MyCur
DEALLOCATE MyCur
</Entry><Entry KeyWord="ssb queue 堵塞消息(2012)" ActionWord=" " Tipo="1" Flag="0">
USE SSB3
GO
SELECT
ServerName = @@servername
,QueueName = q.name
,MsgsCount = p.rows
,indate = Getdate()
FROM sys.objects as o
inner join sys.service_queues sq with(nolock)
on o.parent_object_id = sq.object_id
inner join sys.partitions as p with(nolock)
on p.object_id = o.object_id
inner join sys.objects as q with(nolock)
on o.parent_object_id = q.object_id
WHERE p.index_id = 1
and p.rows>= 1
</Entry><Entry KeyWord="C++ Pointers to Derived Types(2012)" ActionWord=" " Tipo="1" Flag="0">// test4-14.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fstream>
#include <iostream>
using std::string;
using std::cout;
using std::endl;
using std::cin;
class base {
int i;
public:
void set_i(int num) { i=num; }
int get_i() { return i; }
};
class derived: public base {
int j;
public:
void set_j(int num) { j=num; }
int get_j() { return j; }
};
int _tmain(int argc, _TCHAR* argv[])
{
base *bp;
derived d;
bp = &d; // base pointer points to derived object
// access derived object using base pointer
bp->set_i(10);
cout << bp->get_i() << " ";
(( derived *)bp)->set_j(22);
cout << (( derived *)bp)->get_j() << " ";
return 0;
}
</Entry><Entry KeyWord="C++ 指针的指针(2012)" ActionWord=" " Tipo="1" Flag="0">int main()
{
int x, *p, **q;
x = 10;
p = &x;
q = &p;
cout <<"x地址:"<< &x<<endl;
cout <<"p地址的值-->&x地址的值:"<< **q<<endl; // prints the value of x
cout <<"q指向p地址的值:"<< *q<<endl;
cout <<"q指向的地址: &p 地址"<< q<<endl;
cout <<"p地址:"<< &p<<endl;
cout <<"p指向的地址:&x 地址"<< p<<endl;
return 0;
}
</Entry></Snippet>