ืคืจืืืกืืืจืื
ืคืขื ืืืช, ืืื ืืฉืืืจ ืืื, ืืืืชื ืฆืจืื ืืืืื ืฉื ืืกื ืื ืชืื ืื ืฉื ืืืืฆืืจ.
ืืืคืชืขืชื, ื ืชืงืืชื ืืืืืืืช ืืืืืช:
- ืืืืื ืืกื ืื ืชืื ืื ื ืขืฉื ืืืจืกื SQL Server 2016 ืืื ืืื ืชืืื ืืฉืื SQL Server 2014.
- ืืืืฉื ืืขืืืื ืฉืื, ืืขืจืืช ืืืคืขืื ืฉืื ืืฉืชืืฉืชื ืืืืชื Windows 7ืื ืื ืืืืืชื ืืขืืื ืฉืจืช SQL ืขื ืืจืกื 2016
- ืืืืฆืจ ืื ืชืื ืืื ืืืง ืืืขืจืืช ืืืืื ืืืชืจ ืขื ืืจืืืืงืืืจื ืืืืจ ืงืืื ืืฆืืืื ืืืืืจ ืื ืขื ืืืฆืจืื ืืืกืืกืื ืืืจืื, ืื ืฉืื ืืืื ืืงืืช ืืจืื ืืืื ืืื ืืคืจืืก ืืืชื ืืชืื ื ืืืจืช.
ืืืืจ ืืืืืจ ืืขืื, ืืืขืชื ืืืกืงื ื ืฉืืืืข ืืืื ืืงืืืื ืฉื ืคืชืจืื ืืช ืื ืกืื ืืจืืืื.
ืฉืืืืจ ื ืชืื ืื ืืืืืื
ืืืจืชื ืืืฉืชืืฉ ืืืืื ื ืืืจืืืืืืช
ืืืืจืช ืืืฉื ื-SQL Server ืืืืฉื ืืืจืืืืื
ืืืืจ ืืื, ืืื ืฆืืจื ืื ืงืื ืืื ืฆืขืืื ืืื ืืืืืช ืืกืืื ืืืฉืช ื-SQL Server ืืืืืฅ:
- ืขืืืจ ืืืืช ืืืฉ, ืืืกืฃ ืืื ืืื ืืืื ืขื ืืงืฉืืช ืืฆืืื 1433.
- ืจืฆืื ืฉืืืืฉื ืืฉืจืช ืื ืชืขืืืจ ืืจื ืืืืืช Windows, ืืื ืืจื SQL ืืืืฆืขืืช ืื ืืกื ืืกืืกืื (ืงื ืืืชืจ ืืืืืืจ ืืืฉื). ืขื ืืืช, ืืืงืจื ืื, ืขืืื ืืืืืจ ืืืคืขืื ืืืืืช SQL ืืืืคืืื ื SQL Server.
- ืืืืืจืืช ืืฉืชืืฉ ื-SQL Server ืืืฉืื ืืช ืืืคืื ืืฉืชืืฉืื ืฆืืื ืืช ืชืคืงืื ืืืฉืชืืฉ ืขืืืจ ืืกื ืื ืชืื ืื ืืืฉืืืืจ db_securityadmin.
ืืขืืจืช ื ืชืื ืื
ืืืขืฉื, ืืขืืจืช ืื ืชืื ืื ืขืฆืื ืืืจืืืช ืืฉื ื ืฉืืืื:
- ืืขืืจืช ืกืืืืช ื ืชืื ืื (ืืืืืืช, ืชืฆืืืืช, ื ืืืื ืืืืืกื ืื ืืื')
- ืืขืืจืช ืื ืชืื ืื ืขืฆืื
ืืขืืจืช ืกืืืืช ื ืชืื ืื
ืื ื ืืืฆืขืื ืืช ืืคืขืืืืช ืืืืืช:
- ืืืจ ืืฉืืืืช -> ืฆืืจ ืกืงืจืืคืืื ืขืืืจ ืืกืืก ื ืืื.
- ืืืจ ืืช ืืืืืืืงืืื ืฉืืชื ืฆืจืื ืืืขืืืจ ืื ืืฉืืจ ืืช ืขืจื ืืจืืจืช ืืืืื (ืืืงืจื ืื, ืืืืืฆืจื ืกืงืจืืคืืื ืขืืืจ ืื ืืืืืืงืื ืืกื ืื ืชืื ืื).
- ืฆืืื ืืช ืืืืืจืืช ืืฉืืืจืช ืืกืงืจืืคื. ืืื ื ืื ืืฉืืืจ ืืช ืืกืงืจืืคื ืืงืืืฅ Unicode ืืืื. ืืืืจ ืืื, ืืืงืจื ืฉื ืืืฉืืื, ืืื ื ืฆืจืื ืืืืืจ ืขื ืื ืืฉืืืื ืฉืื.
ืืืืจ ืฉืืืจืช ืืกืงืจืืคื, ื ืืชื ืืืคืขืื ืืืชื ื-SQL Server ืืืงืืจื (ืืจืกื ืืฉื ื) ืืื ืืืฆืืจ ืืช ืืืกืืก ืื ืืจืฉ.
ะะฝะธะผะฐะฝะธะต: ืืืืจ ืืืฆืืข ืืกืงืจืืคื ืืฉ ืืืืืง ืืช ืืืชืืื ืืื ืืืืจืืช ืืกื ืื ืชืื ืื ืืืืืืื ืืืื ืืกื ืื ืชืื ืื ืฉื ืืฆืจ ืืกืงืจืืคื. ืืืงืจื ืฉืื, ืื ืืืืชื ืืืืจื ืฉื COLLATE ืืชืกืจืื, ืื ืฉืืืืื ืืืฉื ืืขืช ืืขืืจืช ื ืชืื ืื ืืจืืงืื ืขื ืืืืืจืื ืืื ืืืฆืืจ ืืืืฉ ืืช ืืกืืก ืื ืชืื ืื ืืืืฆืขืืช ืืกืงืจืืคื ืืืฉืืื.
ืืขืืจืช ื ืชืื ืื
ืืคื ื ืืขืืจืช ื ืชืื ืื, ืขืืื ืืืฉืืืช ืืช ืืืืงืช ืื ืืืืืืืช ืขื ืืกื ืื ืชืื ืื:
EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
ืืขืืจืช ืื ืชืื ืื ืืชืืฆืขืช ืืืืฆืขืืช ืืฉืฃ ืืืืื โโืื ืชืื ืื ืืฉืืืืช -> ืืืืื โโื ืชืื ืื ื-SQL Server, ืฉื ื ืืฆื ืืกื ืื ืชืื ืื ืฉื ืืฆืจ ืขื ืืื ืืกืงืจืืคื:
- ืฆืืื ืืช ืืืืจืืช ืืืืืืจ ืืืงืืจ (SQL Server 2016 ืืืืฉื ืืืจืืืืื). ืืฉืชืืฉืชื ืืืงืืจ ื ืชืื ืื ืืงืื ืืงืืื ืฉื ืฉืจืช SQL ืืืืืืช SQL ืื "ื.
- ืฆืืื ืืช ืืืืจืืช ืืืืืืจ ืขืืืจ ืืืขื (SQL Server 2014 ืืืืฉื ืืืืจื).
- ืืืืจ ืืื, ืืืืจ ืืช ืืืืคืื. ืืฉ ืืืืืจ ืืช ืืืื ืื ืืงืจืืื ืืืื ืืืืืืงืืื (ืืืืืื, ืืื ืฆืืจื ืืืืืจ ืชืฆืืืืช). ืืืคืฉืจืืืืช ื ืืกืคืืช, ืืืจ "ืืคืฉืจ ืืื ืกืช ืขืืืืืช ืืืืช"ืื ืืฉืชืืฉืื ืืืืื.
ะะฝะธะผะฐะฝะธะต: ืื, ืืืฉืจ ืื ืกืื ืืืืืจ ืืกืคืจ ืืืืืืช ืืืืืืืจ ืืช ืืืืคืืื ืฉืืื "ืืคืฉืจ ืืื ืกืช ืขืืืืืช ืืืืช" ืืืืคืืื ืืืจ ืืืืืจ ืขืืืจ ืืคืืืช ืืืช ืืืืืืืืช ืฉื ืืืจื, ืชืืืช ืืื-ืฉืื ืชืฆืืื ืฉืืืืคืืื ืืืจ ืืืืืจ ืขืืืจ ืื ืืืืืืืช ืฉื ืืืจื. ืขืืืื ืื ืขืืืื ืืืืื ืืืืืืื ืืฉืืืืืช ืืืืจื. - ืื ืื ื ืืชืืืืื ืืช ืืืขืืจื.
- ืฉืืืืจ ืืืืงืช ืืืืืฆืื:
EXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'
ืื ืืชืจืืฉืืช ืฉืืืืืช, ืื ื ืืืืงืื ืืช ืืืืืจืืช, ืืืืงืื ืืช ืืกื ืื ืชืื ืื ืฉื ืืฆืจ ืขื ืฉืืืืืช, ืืืฆืจืื ืืืชื ืืืืฉ ืืืกืงืจืืคื, ืืืฆืขืื ืชืืงืื ืื ืืืืืจืื ืขื ืืขืืจืช ืื ืชืื ืื.
ืืกืงื ื
ืืฉืืื ืื ื ืืืจื ืืืื ืืืชืจืืฉืช ืจืง ืืืื ืืืืืืืช ืฉืืขืื. ืืคืชืจืื ืื ืคืืฅ ืืืืชืจ ืืื ืฉืืจืื SQL Server ืื ืืืืืจ ืืฉืจืช ืืจืืืง ืื ืืจืืืืงืืืจืช ืืืคืืืงืฆืื ืืืคืฉืจืช ืืืช. ืขื ืืืช, ืืฃ ืืื ืื ืืกืื ืืคื ื ืงืื ืืืืจ ืงืืื ืืืืืื ืขืงืืืืช ืฉื ืคืืชืื ืืืืืืช ืืจืืื. ืื ื ืืงืืื ืฉืื ืชืืืงืง ืืืืจืื ืื, ืืื ืื ืืชื ืขืืืื ืฆืจืื ืืืชื, ืื ืืขืืืจ ืืืกืื ืืจืื ืืื ืืขืฆืืื. ืชืืื ืื ืขื ืชืฉืืืช ืืื!
ืจืฉืืืช ืืงืืจืืช ืืฉืืืืฉ
ืืืฆื ืืืื ืืืชืืืื ืขื ืืืืืฆื FK ืืขืช ืืืืื โโื ืชืื ืื ืืืืฆืขืืช ืืฉืฃ ืืืืืื/ืืืฆืื ืฉื DTS? ืื ื ืืชื ืืขืื ืืช ืืขืืืื "ืขืืืื 2" ืืืืืื ืฉืฆืืื ื ืขืืืจื ืืืชืจ ืืขืืื ืงืื ืืื (65001 ื-1252). ืืื ืื ื ืืืื ืืืชืืืจ ื- SQLServer ืืคืืขื ื- VirtualBox ืื- Macbook ืืืืจื ืฉืื. SQL SERVER - ืืคืฉืจ ืืื ืกืช ืืืืช - ืืฉืฃ ืืืืื ืืืืื ืคืชืจืื ืืขืืืช Microsoft SQL Server ืฉืืืื 18456, ืืื ืืกื ื ืืฉืื ืขืืืจ ืืืฉืชืืฉ
ืืงืืจ: www.habr.com