易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : sqlserver

传智播客我的SqlServer脚本

 
======================SqlServer大部分知识都在我这脚本里===============
如果你能把数据结构画出来的话,那么你就入门了!!呵呵!!
--查看konwyoumore库是否存在
USE master
IF exists(SELECT * from sysdatabases WHERE name='KnowYouMore')
BEGIN
DROP DATABASE knowyoumore;
END
GO
--创建konwyoumore数据库
CREATE DATABASE KnowYouMore
GO
USE KnowYouMore
GO
--创建角色表
CREATE TABLE roles
(
rno INT PRIMARY KEY IDENTITY(1,1),
rname VARCHAR(12) NOT NULL
);
GO
--创建注册表
CREATE TABLE users
(
uno INT PRIMARY KEY IDENTITY(1,1),
uname VARCHAR(32) NOT NULL UNIQUE,
upwd VARCHAR(32) NOT NULL ,
star INT,
trueName VARCHAR(16) NOT NULL,
rno INT FOREIGN KEY REFERENCES roles(rno)
);
GO
--创建班级表
CREATE TABLE classes
(
cno INT PRIMARY KEY IDENTITY(1,1),
cname VARCHAR(32) NOT NULL UNIQUE,
   cdescribe VARCHAR(100)
);
GO
--创建学生表
CREATE TABLE students
(
sno INT PRIMARY KEY IDENTITY(1,1),
sname VARCHAR(16) NOT NULL UNIQUE,
sex CHAR(2) ......

sqlserver 跨库拷贝数据


Create Procedure up_InsertData2
@ID INT
AS
BEGIN
Declare @Name NVARCHAR(30)
Declare @c1 NVARCHAR(30)
Declare @c2 NVARCHAR(30)
Declare @c3 NVARCHAR(30)
Declare @c4 NVARCHAR(30)
Declare tmpCur Cursor For Select a,b,c,d from  table1
Open tmpCur;
Fetch Next from tmpCur Into @c1,@c2,@c3,@c4;
While @@Fetch_Status=0
Begin
insert into OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=127.0.0.1;User ID=sa;Password=sa'
         ).descx.dbo.table1(a,b,c,d) values(@c1,@c2,@c3,@c4);
Fetch Next from tmpCur Into  @c1,@c2,@c3,@c4;
End
Close tmpCur;
DealLocate tmpCur;
END
EXEC up_InsertData2 2 ......

为SQLServer表中的字段添加说明

在SQL语句中通过系统存储过sp_addextendedproperty可为表字段添加上动态的说明(备注)下面是SQL SERVER帮助文档中对sp_addextendedproperty存储过程的描述
语法
sp_addextendedproperty
    [ @name = ] { 'property_name' }
    [ , [ @value = ] { 'value' }
        [ , [ @level0type = ] { 'level0_object_type' }
         , [ @level0name = ] { 'level0_object_name' }
            [ , [ @level1type = ] { 'level1_object_type' }
             , [ @level1name = ] { 'level1_object_name' }
                    [ , [ @level2type = ] { 'level2_object_type' }
                     , [ @level2name = ......

SqlServer 大型数据处理与优化

一、数据库结构的设计
    如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。
    在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。
    所以在考虑整个系统的流程的时候,我们必须要考虑,在高并发大数据量的访问情况下,我们的系统会不会出现极端的情况。(例如:对外统计系统在7月16日出现的数据异常的情况,并发大数据量的的访问造成,数据库的响应时间不能跟上数据刷新的速度造成。具体情况是:在日期临界时(00:00:00),判断数据库中是否有当前日期的记录,没有则插入一条当前日期的记录。在低并发访问的情况下,不会发生问题,但是当日期临界时的访问量相当大的时候,在做这一判断的时候,会出现多次条件成立,则数据库里会被插入多条当前日期的记 ......

ORACLE临时表和SQLSERVER临时表异同

 SQL SERVER临时表
也可以创建临时表。临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。
有本地和全局两种类型的临时表,二者在名称、可见性和可用性上均不相同。本地临时表的名称以单个数字符号 (#) 打头;
它们仅对当前的用户连接是可见的;当用户从 Microsoft? SQL Server? 2000 实例断开连接时被删除。全局临时表的名称以数学符号
(##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。
例如,如果创建名为 employees 的表,则任何人只要在数据库中有使用该表的安全权限就可以使用该表,除非它已删除。
如果创建名为 #employees 的本地临时表,只有您能对该表执行操作且在断开连接时该表删除。如果创建名为 ##employees 的全局临时表
,数据表中的任何用户均可对该表执行操作。如果该表在您创建后没有其他用户使用,则当您断开连接时该表删除。如果该表在您创建
后有其他用户使用,则 SQL Server在所有用户断开连接后删除该表
不同:
1.        SQL SERVER临时表是一种”内存表”,表是存储在内存中的.ORACLE临时表除非执行DROP TABLE ......

ORACLE临时表和SQLSERVER临时表异同

 SQL SERVER临时表
也可以创建临时表。临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。
有本地和全局两种类型的临时表,二者在名称、可见性和可用性上均不相同。本地临时表的名称以单个数字符号 (#) 打头;
它们仅对当前的用户连接是可见的;当用户从 Microsoft? SQL Server? 2000 实例断开连接时被删除。全局临时表的名称以数学符号
(##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。
例如,如果创建名为 employees 的表,则任何人只要在数据库中有使用该表的安全权限就可以使用该表,除非它已删除。
如果创建名为 #employees 的本地临时表,只有您能对该表执行操作且在断开连接时该表删除。如果创建名为 ##employees 的全局临时表
,数据表中的任何用户均可对该表执行操作。如果该表在您创建后没有其他用户使用,则当您断开连接时该表删除。如果该表在您创建
后有其他用户使用,则 SQL Server在所有用户断开连接后删除该表
不同:
1.        SQL SERVER临时表是一种”内存表”,表是存储在内存中的.ORACLE临时表除非执行DROP TABLE ......

如何解决SQLServer占内存过多的问题

  经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长;或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢?
  首先,我们来看看MSSQL是怎样使用内存的。
  最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。所以一般我们在看statistics io的时候,看到的physics read都是0。
  其次就是查询的开销,一般地说,hash join是会带来比较大的内存开销的,而merge join和nested loop的开销比较小,还有排序和中间表、游标也是会有比较大的开销的。
  所以用于关联和排序的列上一般需要有索引。
  再其次就是对执行计划、系统数据的存储,这些都是比较小的。
  我们先来看数据缓存对性能的影响,如果系统中没有其它应用程序来争夺内存,数据缓存一般是越多越好,甚至有些时候我们会强行把一些数据pin在高速缓存中。但是如果有其它应用程序,虽然在需要的时候MSSQL会释放内存,但是线程切换、IO等待这些工作也是需要时间的,所以就会造成性能的降低。这样我们就必须设置MSSQL的最大内存使用。可以在SQL Server 属性(内存 ......
总记录数:341; 总页数:57; 每页6 条; 首页 上一页 [41] [42] [43] [44] 45 [46] [47] [48] [49] [50]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号