์ ์ฌ ์๋
ํ ๋ฒ์ ๋ฒ๊ทธ๋ฅผ ์ฌํํ๊ธฐ ์ํด ํ๋ก๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐฑ์ ์ด ํ์ํ์ต๋๋ค.
๋๋๊ฒ๋ ๋ค์๊ณผ ๊ฐ์ ํ๊ณ์ ๋ถ๋ชํ์ต๋๋ค.
- ๋ฒ์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์ ์ด ์ํ๋์์ต๋๋ค. SQL ์๋ฒ 2016 ๋ด ๊ฒ๊ณผ ํธํ๋์ง ์์์ต๋๋ค. SQL ์๋ฒ 2014.
- ๋ด ์ ๋ฌด์ฉ ์ปดํจํฐ์์ ์ฌ์ฉํ OS๋ ์๋์ฐ 7๊ทธ๋์ ์ ๋ฐ์ดํธ๋ฅผ ๋ชปํ์ต๋๋ค SQL ์๋ฒ 2016 ๋ฒ์ ๊น์ง
- ์ง์๋๋ ์ ํ์ ๊ธด๋ฐํ๊ฒ ๊ฒฐํฉ๋ ๋ ๊ฑฐ์ ์ํคํ ์ฒ๊ฐ ์๋ ๋ ํฐ ์์คํ ์ ์ผ๋ถ์์ผ๋ฉฐ ๋ค๋ฅธ ์ ํ ๋ฐ ๊ธฐ๋ฐ๊ณผ๋ ํต์ ํ๋ฏ๋ก ๋ค๋ฅธ ์คํ ์ด์ ์ ๋ฐฐํฌํ๋ ๋ฐ ๋งค์ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
์์ ๋ด์ฉ์ ๊ฐ์ํ ๋ ๋นํ์ค ์๋ฃจ์
์ ๋ชฉ๋ฐ์ด ํ์ํ๋ค๋ ๊ฒฐ๋ก ์ ๋๋ฌํ์ต๋๋ค.
๋ฐฑ์ ์์ ๋ฐ์ดํฐ ๋ณต์
๊ฐ์ ๋จธ์ ์ ์ฌ์ฉํ๊ธฐ๋ก ํ์ต๋๋ค.
๊ฐ์ ๋จธ์ ์์ SQL Server์ ๋ํ ์ก์ธ์ค ๊ตฌ์ฑ
๋ค์์ผ๋ก ์ธ๋ถ์์ SQL Server์ ์ก์ธ์คํ ์ ์๋๋ก ๋ช ๊ฐ์ง ๋จ๊ณ๋ฅผ ์ํํด์ผ ํ์ต๋๋ค.
- ๋ฐฉํ๋ฒฝ์ ๊ฒฝ์ฐ ํฌํธ ์์ฒญ์ ๊ฑด๋๋ฐ๋ ๊ท์น์ ์ถ๊ฐํ์ญ์์ค. 1433.
- ์๋ฒ์ ๋ํ ์ก์ธ์ค๋ Windows ์ธ์ฆ์ ๊ฑฐ์น์ง ์๊ณ ๋ก๊ทธ์ธ ๋ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ SQL์ ํตํด ์ด๋ฃจ์ด์ง๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค(์ก์ธ์ค ์ค์ ์ด ๋ ์ฝ์ต๋๋ค). ๊ทธ๋ฌ๋ ์ด ๊ฒฝ์ฐ SQL Server ์์ฑ์์ SQL ์ธ์ฆ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
- ํญ์ SQL Server ์ฌ์ฉ์ ์ค์ ์์ ์ฌ์ฉ์ ๋งคํ ๋ณต์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฌ์ฉ์ ์ญํ ์ง์ db_securityadmin.
๋ฐ์ดํฐ ์ ์ก
์ค์ ๋ก ๋ฐ์ดํฐ ์ ์ก ์์ฒด๋ ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์คํค๋ง ์ ์ก(ํ ์ด๋ธ, ๋ทฐ, ์ ์ฅ ํ๋ก์์ ๋ฑ)
- ๋ฐ์ดํฐ ์์ฒด ์ ์ก
๋ฐ์ดํฐ ์คํค๋ง ์ ์ก
๋ค์ ์์ ์ ์ํํฉ๋๋ค.
- ์ ํ ์์ -> ์คํฌ๋ฆฝํธ ์์ฑ ํด๋์ฉ ๋ฒ ์ด์ค์ฉ.
- ์ ์กํด์ผ ํ๋ ๊ฐ์ฒด๋ฅผ ์ ํํ๊ฑฐ๋ ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋๋ก ๋ก๋๋ค(์ด ๊ฒฝ์ฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ๋ํด ์คํฌ๋ฆฝํธ๊ฐ ์์ฑ๋จ).
- ์คํฌ๋ฆฝํธ ์ ์ฅ์ ์ํ ์ค์ ์ ์ง์ ํฉ๋๋ค. ๋จ์ผ ์ ๋์ฝ๋ ํ์ผ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด ๊ฐ์ฅ ํธ๋ฆฌํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์คํจํ ๊ฒฝ์ฐ ๋ชจ๋ ๋จ๊ณ๋ฅผ ๋ค์ ๋ฐ๋ณตํ ํ์๊ฐ ์์ต๋๋ค.
์คํฌ๋ฆฝํธ๊ฐ ์ ์ฅ๋๋ฉด ์๋ณธ SQL Server(์ด์ ๋ฒ์ )์์ ์คํํ์ฌ ํ์ํ ๊ธฐ๋ฐ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ฐธ๊ณ : ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ํ ๋ฐฑ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ๊ณผ ์คํฌ๋ฆฝํธ์ ์ํด ์์ฑ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋์ ๊ด๊ณ๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค. ์ ๊ฒฝ์ฐ์๋ ์คํฌ๋ฆฝํธ์ COLLATE์ ๋ํ ์ค์ ์ด ์์ด์ ๋ณด์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์์ฑํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ํฌ๋ฒ๋ฆฐ๊ณผ ์ถค์ ์ถ๋ ๋ฐ ์คํจํ์ต๋๋ค.
๋ฐ์ดํฐ ์ ์ก
๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ชจ๋ ์ ํ ์ฌํญ ํ์ธ์ ๋นํ์ฑํํด์ผ ํฉ๋๋ค.
EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
๋ฐ์ดํฐ ์ ์ก์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ๋ง๋ฒ์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค. ์์ -> ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ์คํฌ๋ฆฝํธ์ ์ํด ์์ฑ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ SQL Server์์:
- ์์ค์ ๋ํ ์ฐ๊ฒฐ ์ค์ ์ ์ง์ ํฉ๋๋ค(๊ฐ์ ๋จธ์ ์ SQL Server 2016). ๋ฐ์ดํฐ ์์ค๋ฅผ ์ฌ์ฉํ์ต๋๋ค. SQL Server ๋ค์ดํฐ๋ธ ํด๋ผ์ด์ธํธ ๊ทธ๋ฆฌ๊ณ ์์ ์ธ๊ธํ SQL ์ธ์ฆ.
- ๋์(ํธ์คํธ ๋จธ์ ์ SQL Server 2014)์ ๋ํ ์ฐ๊ฒฐ ์ค์ ์ ์ง์ ํฉ๋๋ค.
- ๋ค์์ผ๋ก ๋งคํ์ ์ค์ ํฉ๋๋ค. ๋ชจ๋ ์ ํํด์ผ ํฉ๋๋ค. ์ฝ๊ธฐ ์ ์ฉ์ด ์๋ ์๋ฅผ ๋ค์ด ๋ณด๊ธฐ๋ฅผ ์ ํํ ํ์๊ฐ ์์ต๋๋ค. ์ถ๊ฐ ์ต์
์ผ๋ก ์ ํ "ID ์ด์ ์ฝ์
ํ์ฉ"๊ทธ๋ฌํ ๊ฒ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ.
์ฐธ๊ณ : if, ์ฌ๋ฌ ํ ์ด๋ธ์ ์ ํํ๊ณ ์์ฑ์ ์ค์ ํ๋ ค๊ณ ํ ๋ "ID ์ด์ ์ฝ์ ํ์ฉ" ์ ํํ ํ ์ด๋ธ ์ค ํ๋ ์ด์์ ๋ํด ์์ฑ์ด ์ด๋ฏธ ์ค์ ๋์ด ์์ผ๋ฉด ์ ํํ ๋ชจ๋ ํ ์ด๋ธ์ ๋ํด ์์ฑ์ด ์ด๋ฏธ ์ค์ ๋์์์ ๋ํ ์์์ ํ์ํฉ๋๋ค. ์ด ์ฌ์ค์ ํผ๋์ ์ค ์ ์์ผ๋ฉฐ ๋ง์ด๊ทธ๋ ์ด์ ์ค๋ฅ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. - ์ ์ก์ ์์ํฉ๋๋ค.
- ๋ณต์ ์ ์ฝ ๊ฒ์ฌ:
EXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ค์ ์ ํ์ธํ๊ณ ์ค๋ฅ๋ก ์์ฑ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๊ณ ์คํฌ๋ฆฝํธ์์ ๋ค์ ์์ฑํ์ฌ ์์ ํ๊ณ ๋ฐ์ดํฐ ์ ์ก์ ๋ฐ๋ณตํฉ๋๋ค.
๊ฒฐ๋ก
์ด ์์ ์ ๋งค์ฐ ๋๋ฌผ๋ฉฐ ์์ ์ ํ ์ฌํญ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์๋ฃจ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ์์ ํ์ฉํ๋ ๊ฒฝ์ฐ SQL Server๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ฑฐ๋ ์๊ฒฉ ์๋ฒ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์๋ฌด๋ ๋ ๊ฑฐ์ ์ฝ๋์ ์ ํ์ง ๊ฐ๋ฐ์ ๋น๋ค์ด์ง ์์์ ์์ ๋กญ์ง ์์ต๋๋ค. ์ด ์ง์นจ์ด ํ์ํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋ผ์ง๋ง ์ฌ์ ํ ํ์ํ ๊ฒฝ์ฐ ๋ง์ ์๊ฐ๊ณผ ์ ๊ฒฝ์ ์ ์ฝํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ๊ด์ฌ์ ๊ฐ์ ธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ฌ์ฉ ๋ ์ถ์ฒ ๋ชฉ๋ก
DTS ๊ฐ์ ธ์ค๊ธฐ/๋ด๋ณด๋ด๊ธฐ ๋ง๋ฒ์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ FK ์ ์ฝ ์กฐ๊ฑด์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? ์ด "์ด 2"๋ ๋ ์ด์์ ์ฝ๋ ํ์ด์ง(65001 ๋ฐ 1252)๊ฐ ์ง์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ด ํธ์คํธ Macbook์์ VirtualBox์์ ์คํ๋๋ SQLServer์ ์ด๋ป๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๊น? SQL SERVER - ID ์ฝ์ ํ์ฑํ - ์ ๋ฌธ๊ฐ ๊ฐ์ ธ์ค๊ธฐ ๋ง๋ฒ์ฌ Microsoft SQL Server ์ค๋ฅ 18456 ๋ฌธ์ ํด๊ฒฐ, ์ฌ์ฉ์ ๋ก๊ทธ์ธ ์คํจ
์ถ์ฒ : habr.com