如果个人用,可以去微软官方下载开发版本的,免费,不需要序列号,功能强大,下载的文件里包括sql服务器和managementstudio
瑞丽网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
SQLserver使用的话,需要购买数据库,以及访问许可CLA。
1、数据库管理工具(DBMS)是收费的,比如Oracle,SQL Server,SyBase。还有免费的如MySQL。
2、数据库占用提供商的空间可能也是要收费的,这根据占用空间的大小。
扩展资料:
收费标准
1、Enterprise 版
全面的任务关键型性能,可满足苛刻的数据库和商业智能要求。为第 1 层工作负载提供最高的服务和性能水平。
开放的无级别价格(美元):$14,256
2、Standard 版 - 每内核
适合非关键工作负载的核心数据管理和商业智能功能,IT 资源极少。
开放的无级别价格(美元):$3,717
3、Standard 版 - 服务器 + CAL
适合非关键工作负载的核心数据管理和商业智能功能,IT 资源极少。
开放的无级别价格(美元):$931
4、Developer 版
SQL Server 软件的全功能版本,允许开发人员经济高效地构建、测试和演示基于 SQL Server 软件的应用程序。
开放的无级别价格(美元):免费
参考资料来源:Microsoft官网-SQL Server 定价
1. Customer表记录每个客户的情况(id唯一),当history中新增一条记录时,就触发customer表update/insert(如果customer中有此客户(存在history表新增记录的id),则把此客户的lastLoginTime(最近一次登录时间)更新,如果customer中没有此客户,则在customer中增加一条此客户记录。(如何实现???)同时,根据history中state,判断此客户是付费还是免费,如果是免费,则在firstFreeTime加入此客户的登录时间,如果是付费,则在firstChargeTime 加入此客户的登录时间(如何实现???);并通过history表中的productId 到province表中查询相应的省份后写入customer表的province字段中(如何实现???)。
CREATE TRIGGER trg_insHistory
ON dbo.History
FOR INSERT
AS
declare @CustomerID int
declare @LoginTime datetime
declare @ProvinceID int, @StateID int
declare @rows int
select @CustomerID=CustomerID, @LoginTime=LoginTime, @ProvinceID=ProvinceID, @StateID=StateID
from Inserted
select @rows=@@rowcount
if exists(select * from Customer where CustomerID=@CustomerID)
begin
update c set c.LastLoginTime=@LoginTime
from Customer c
where CustomerID=@CustomerID
end
else
begin
if(@rows1)
return
if(@rows=1)
begin
insert into Customer(CustomerID, FirstFreeTime, ProvinceID)
Values(@CustomerID, @LoginTime, @ProvinceID)
end
end
在customer中,某个客户如果firstChargeTime起三个月没有更新,即更改customer.lastQuitTime(为firstChargeTime+90天)(如何实现???)
创建存储过程,设定时间,让它每天跑一次。
CREATE PROCEDURE dbo.usp_updLastQuitTime
AS
declare @CustomerID int, @FirstChargeTime datetime, @CurrentDate nvarchar(10)
select @CurrentDate= convert(nvarchar(10),getdate(),120)
select CustomerID, FirstChargeTime, LastQuitTime
into #temp
from Customer
declare cur_firstChargeTime cursor
for
select CustomerID, FirstChargeTime
from #temp
open cur_firstChargeTime
fetch next from cur_firstChargeTime into @CustomerID, @FirstChargeTime
while @@fetch_status=0
begin
if(dateadd(month,3,@FirstChargeTime)=@CurrentDate)
update Customer
set LastQuitTime=dateadd(day,90,@FirstChargeTime)
where CustomerID=@CustomerID
fetch next from cur_firstChargeTime into @CustomerID, @FirstChargeTime
end
deallocate cur_firstChargeTime
drop table #temp
GO
2.现在history中有许多已存的数据,而customer是个新表,现在需要把根据上面的规则把history里的记录处理后存到customer中,该如何实现???
CREATE PROCEDURE dbo.usp_insCustomer
AS
declare @CustomerID int, @LoginTime datetime, @ProvinceID int, @StateID int
declare cur_insCustomer cursor
for
select CustomerID, LoginTime, ProvinceID, StateID
from History
open cur_insCustomer
fetch next from cur_insCustomer into @CustomerID, @LoginTime, @ProvinceID, @StateID
while @@fetch_status=0
begin
if exists(select * from Customer where CustomerID=@CustomerID) /*record already exists in Customer*/
begin
update Customer
set LastLoginTime=@LoginTime, ProvinceID=@ProvinceID
where CustomerID=@CustomerID
end
else /*record not exist in Customer*/
begin
if @StateID=1 /*first free login*/
insert into Customer(CustomerID, FirstFreeTime, ProvinceID)
values(@CustomerID, @LoginTime, @ProvinceID)
else /*first charge login*/
insert into Customer(CustomerID, FirstChargeTime, ProvinceID)
values(@CustomerID, @LoginTime, @ProvinceID)
end
fetch next from cur_insCustomer into @CustomerID, @LoginTime, @ProvinceID, @StateID
end
deallocate cur_insCustomer
GO
查询时以ProvinceID为连接条件,从Province表中得到ProvinceName填入Customer表即可。有其他问题自己再改改了。
显然能oracle
更强大啊
但是费用也是比较高的
oracle
的
权限系统
是非常完善的
要比SqlServer
安全很多
一般来说
SqlServer
同时服务的人数
远远达不到他所给的理论值
性能和
oracle
没法比的
MySQL: 5.1 .5.5社区版都是免费的,企业版、集群版是付费的;管理工具:SqlYog也是付费的。
MS SQLServer: express版免费,其他版本都是付费的。
使用范围主要还是看 用途:
ERP、OA、CRM之类会用的SQLServer叫较多,也有例外;
Linux编程、PHP的项目会用MySQL。
个人感觉MySQL用熟练了比SQLServer性能好点,优化、配置比较容易。
当然,具体问题具体对待,仅供参考!
1.按照CPU个数收费,服务器有4核,6核,8核之类的,这样对用户没有限制。
2.按照用户个数收费,数据库也许就有10个,20个用户访问,那么即使你的服务器用8核CPU,费用也不会太高。
这就根据应用程序需求而购买授权了。
你用“盗版”的也没关系,如果微软查到了,那时的授权费用就是“天价”了。