рд╕реБрдзрд╛рд░ рдХреЗ рджреНрд╡рд╛рд░рд╛ MSSQLSERVER рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ FIAS (SQLXMLBULKLOAD) рдХрд╛ рдЕрд░реНрде рд╣реИред рдпрд╣ рдХреИрд╕реЗ (рд╢рд╛рдпрдж) рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

рдЖрджрд░реНрд╢ рд╡рд╛рдХреНрдп:
"рдЬрдм рдЖрдкрдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╣рдереМрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдЖрд╕-рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рдирд╛рдЦреВрди рд▓рдЧрддрд╛ рд╣реИред"


рдХрд┐рд╕реА рддрд░рд╣ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ - рдкрд┐рдЫрд▓реЗ рд╢реБрдХреНрд░рд╡рд╛рд░, рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЗ рдкрдбрд╝реЛрд╕ рдореЗрдВ рдШреВрдорддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╢рд╛рдкрд┐рдд рдорд╛рд▓рд┐рдХреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрд╛ рдХрд┐ рдореИрдВ рдЖрд▓рд╕реНрдп рдФрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдЖрд▓рд╕реНрдп рдХреЗ рдЪрд┐рдВрддрди рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рддрд╛ рд╣реВрдВред

"рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдШреЗрд░рд╛рдмрдВрджреА рдХреЗ рдПрдХ рджреЛрд╕реНрдд FIAS рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗ!" - рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдХрд╣рд╛ред - рдХреБрдЫ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЗрдХрд╛рдЗрдпрд╛рдВ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рднреЛрдЬрди рд╕рд░реНрд╡рд░ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рджреЛрд╕реНрдд рдЬрд┐рд╕рдиреЗ рдмреВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд┐рдЦреА рдереА, рджреВрд╕рд░реЗ рджрд┐рди, рддреАрди рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣рд╛рдВ рд╣рд░ рдЪреАрдЬ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдлрдЖрдИрдПрдПрд╕ рдХреА рдЖрд╡рдзрд┐рдХ рднрд░рдиреЗ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕рднреА, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдореИрдВ рджреЗрд░ рдирд╣реАрдВ рдХрд░рддрд╛!

рдпрд╣рд╛рдБ рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдореЗрд░рд╛ рджреВрд░ рдХрд╛ рд░рд┐рд╢реНрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ DBA рдирд╣реАрдВ рд╣реВрдБ рд╣рд╛рд▓рд╛рдБрдХрд┐, рджреВрд╕рд░реА рдУрд░, рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрдбрд╝реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдбреАрдмреАрдП, рдиреЗрд╕реНрдЯ рдкрд╛ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИ?

"рдЪрд▓реЛ ... рдЕрднреА рдпрд╣ рдХрд░рддреЗ рд╣реИрдВ," рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд░рд┐рд╖реНрдареЛрдВ рдХреЛ рдмрддрд╛рдпрд╛, рдФрд░ рдореЗрд░реА рдЖрд╕реНрддреАрди рдХреЛ рдШреБрдорд╛рддреЗ рд╣реБрдП FIAS рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЖ рдЧрдпрд╛ред

"рдУрд╣! рд╣рд╛рдБ рд╡рд╣рд╛рдБ dbf рд╣реИ! тАЭ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдЦреБрд╢реА рд╕реЗ рд░рдЧрдбрд╝реЗрдВ, рдПрдХ рдорд╛рдирдХ "рдбреА рдлреИрдХреНрдЯреЛ" рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдХреА рдХрдореА рдкрд░ рдЕрдЪрдВрднрд╛ рдХрд░рддреЗ рд╣реБрдП, рдФрд░, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдмреЛрд╕ рдореЗрдВ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЕрд░рдЬ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдПрдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдЦреЗрдж, рдЬреЛ рдЦреБрд▓рд╛ рдерд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, 7zip [рд▓реЗрдХрд┐рди рдЬреЛ рдЕрднреА рднреА рд╢рдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╣реАрдВ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред -Archive]ред рдпрд╛рдиреА рд╢реБрджреНрдз powerhell'om рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЖрдк рдЗрд╕реЗ рдЕрдирдкреИрдХ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдХрд╡рд╛рд╕ рдХреЛ рдвреЗрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдУрд╣ рдареАрдХ рд╣реИред

рдореИрдВрдиреЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП dbf рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд▓рд┐рдЦреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ dbfs рдХреЛ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛, рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛, рдФрд░ рдЬрдм рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рдерд╛, рддреЛ рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдХреЗрдЪ рдХрд┐рдпрд╛ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ "рд▓рдЧрднрдЧ-рдЬреИрд╕реА" рдкреНрд▓реЗрдЯреЛрдВ рдХреЛ рдЧреМрдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдореЗрдВ рдЪрд┐рдкрдХрд╛ рджрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд┐рд▓рд╛, t.s., рд▓реЙрд░реЗрд▓реНрд╕ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╢реИрддрд╛рди рдиреЗ рдореБрдЭреЗ рдЖрдпрд╛рдд рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪ рд▓рд┐рдпрд╛!



- рдЙрдлрд╝ред рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл !!! ???



рдмрдбрд╝реА рдЯреЗрдмрд▓ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реЛрддреА рд╣реИрдВ, рдЬрдмрдХрд┐ рдЫреЛрдЯреА рдЯреЗрдмрд▓ рдореЗрдВ рдмрджрдорд╛рд╢ рд╣реЛрддреЗ рд╣реИрдВред

рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдм рдореБрдЭреЗ рдЙрджрд╛рд╕ рдФрд░ рджреБрдЦреА рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╣рд┐рдореНрдордд рдХрд░рдХреЗ рдЦреБрдж рдХреЛ рдПрдХ рд╕рд╛рде рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдФрд░ рд╢рд┐рдерд┐рд▓рддрд╛ рдФрд░ рдЕрдкрдиреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд░реНрддрд╡реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рдкреАрдЯрд╛ рдбреАрдмреАрдПрдл-рдХрд╛рдореА рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдореИрдВ рджреЛ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╢рд┐рдерд┐рд▓ рд╣реЛ рдЧрдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдЖрд╡реЗрджрди рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рдЧрдП, рдФрд░ рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдлрд┐рд░ рд╕реЗ рдХреНрд╖рд┐рддрд┐рдЬ рдкрд░, рдкрд╡рд┐рддреНрд░ рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде, "рд╣рдо рдбрдВрдк рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?"

рдФрд░, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА dbf рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдореИрдВрдиреЗ xml рд╕реЗ FIAS рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рддреЛ рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╕реНрдЯрд╛рдЗрд▓рд┐рд╢, рдлреИрд╢рдиреЗрдмрд▓, рдпреБрд╡рд╛, рдФрд░ "dbf рдПрдХ рдорд░рдгрд╛рд╕рдиреНрди рдкреНрд░рд╛рд░реВрдк рд╣реИ"ред
рдЗрд╕ рдкрд░, рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдПрдХрд╛рд▓рд╛рдк рдХреЛ рдЦрддреНрдо рд╣реЛрдиреЗ рджреЗрдВ, рдФрд░ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░реЗрдВред

рдПрдкрд┐рдЧреНрд░рд╛рдл 2:
рд╣рд╛рдБ, рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИред :-)

рддреЛ, SQLXMLBULKLOAD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ - рдПрдХ рдЕрджреНрднреБрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЬрд┐рд╕реЗ рд╕рдВрд░рдЪрд┐рдд xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдереЛрдХ рдЕрдкрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ SqlXml 4.0 рд╕рд░реНрд╡рд┐рд╕ рдкреИрдХ 1 (SP1) рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, FIAS рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рд╕рдВрд░рдЪрд┐рддрддрд╛" рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╛рдВрдЧ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ xml рдирд╣реАрдВ ... рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, xml рд╣реИрдВ, рд▓реЗрдХрд┐рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдлреНрд▓реИрдЯ рдЯреЗрдмрд▓ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред

рд╕рд╛рдЗрдЯ sql.ru рдкрд░, рдореБрдЭреЗ рд╕рдореНрдорд╛рдирд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Mnior рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ spXMLBulkLoad рдорд┐рд▓реА , рддрд╛рдХрд┐ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рд╣рд░ рди рдирд┐рдХрд▓реЗ, рдФрд░ CLR рдХреЗ рд▓рд┐рдП SQLXMLBULKLOAD рдХреЙрд▓ рднреА рди рд▓рд┐рдЦреЗрдВред

рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:

spXMLBulkLoad
USE [FIAS2] GO /****** Object: StoredProcedure [dbo].[spXMLBulkLoad] Script Date: 13.05.2019 18:05:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --   Ole Automation Procedures: -- EXEC sp_configure 'Ole Automation Procedures', 1; RECONFIGURE WITH OVERRIDE; -- : -- EXEC dbo.spXMLBulkLoad 'Z:\Path\Data.xml','Z:\Path\Schema.xsd', 'FIAS', 'Z:\Path\error.xml' CREATE PROCEDURE [dbo].[spXMLBulkLoad] ( @File SysName ,@Schema SysName ,@DataBase SysName = '<DefaultDataBase>' ,@ErrorLog SysName ) AS BEGIN DECLARE @ErrCode Int ,@OLEXMLBulk Int ,@ErrMethod SysName ,@ErrDescript NVarChar(4000) EXEC @ErrCode = sys.sp_OACreate 'SQLXMLBulkLoad.SQLXMLBulkload', @OLEXMLBulk OUT IF (@ErrCode = 0) BEGIN SET @DataBase = 'Provider=SQLOLEDB;Data Source=.;DataBase=' + @DataBase + ';Integrated Security=SSPI' EXEC @ErrCode = sys.sp_OASetProperty @OLEXMLBulk ,'ConnectionString', @DataBase IF (@ErrCode <> 0) BEGIN SET @ErrMethod = 'ConnectionString' GOTO Error END EXEC @ErrCode = sys.sp_OASetProperty @OLEXMLBulk ,'ErrorLogFile', @ErrorLog IF (@ErrCode <> 0) BEGIN SET @ErrMethod = 'ErrorLogFile' GOTO Error END EXEC @ErrCode = sys.sp_OASetProperty @OLEXMLBulk, 'CheckConstraints', 1 IF (@ErrCode <> 0) BEGIN SET @ErrMethod = 'CheckConstraints' GOTO Error END --EXEC @ErrCode = sys.sp_OASetProperty @OLEXMLBulk, 'ForceTableLock', 1 -- IF (@ErrCode <> 0) -- BEGIN SET @ErrMethod = 'ForceTableLock' -- GOTO Error -- END EXEC @ErrCode = sys.sp_OAMethod @OLEXMLBulk, 'Execute', NULL, @Schema, @File IF (@ErrCode <> 0) BEGIN SET @ErrMethod = 'Execute' DECLARE @Exist Int ,@Error XML ,@SQL NvarChar(max) EXEC master.dbo.xp_FileExist @ErrorLog, @Exist OUT IF (@Exist = 1) BEGIN --  @ErrorLog  Set @SQL = N'SELECT @Error = E.Error + CASE WHEN Right(E.Error,1) <> ''>'' THEN ''lt>'' ELSE '''' END ' + N'FROM OPENROWSET(BULK '''+ @ErrorLog +''', SINGLE_NCLOB) E(Error)' exec sp_executesql @SQL, N'@Error xml OUTPUT', @Error=@Error OUTPUT SELECT @ErrDescript = IsNull(@ErrDescript,'') + E.Error.value('Description[1]','SysName') + ' ' FROM @Error.nodes('/Result/Error')E(Error) SELECT @ErrDescript = IsNull(@ErrDescript,'') + E.Error.value('Description[1]','SysName') + ' ' FROM @Error.nodes('/Error/Record')E(Error) END ELSE GOTO Error END GOTO Destroy Error: EXEC @ErrCode = sys.sp_OAGetErrorInfo @OLEXMLBulk, @ErrorLog OUT, @ErrDescript OUT Destroy: EXEC @ErrCode = sys.sp_OADestroy @OLEXMLBulk END ELSE SELECT @ErrMethod = 'SQLXMLBulkLoad.SQLXMLBulkload' ,@ErrorLog = 'sp_OACreate' ,@ErrDescript = '  OLE ' --   IF (@ErrMethod IS NOT NULL) BEGIN RAISERROR('    "%s"  "%s": %s',18,1, @ErrMethod, @ErrorLog, @ErrDescript) RETURN @@Error END END GO 


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ xml рдХреА рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд▓реЛрдбрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдиреЛрдЯреЗрдЯ xsd рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдФрд░ рдХрд╣рд╛рдБ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдРрд╕реА рдпреЛрдЬрдирд╛рдПрдБ рдЬреЛ рдореМрдЬреВрдж рд╣реИрдВ, "рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреЗ рд╡рд╛рд▓реЗ" - рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рджрд░реНрдЬрди рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпреЛрдЬрдирд╛рдПрдБ рдХрднреА рдирд╣реАрдВ рдорд┐рд▓реАрдВред рдФрд░ рдЧреБрд╕реНрд╕рд╛ рд╣реЛ рдЧрдпрд╛ред

рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП FIAS рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрд▓рдмреНрдз рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди ... рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ - 271 рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ! рд╡реИрд╕реЗ рдпрд╣ рдЖрдкрдХреЛ рдмреИрдардиреЗ рдФрд░ рдмреЗрд╡рдХреВрдл рдмрдирд╛рдиреЗ рдХреА рдХрд┐рддрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрди рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдЙрд╕реА рд╕рдордп рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред

SQLXMLBULKLOAD рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдПрдиреЛрдЯреЗрдЯ рд╕реНрдХреАрдорд╛ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рджреВрд╕рд░реА рддрд░рдл, рдЕрдЧрд░ рдореИрдВ рдпрд╣ рд╕реНрдХреАрдорд╛ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЦреБрдж рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП?

рдореИрдВрдиреЗ FIAS рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ xsd рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдиреЗрддреНрд░рд╣реАрди рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

1. рдПрдХ рдЦрд╛рд▓реА FIAS2 рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБред
"2" рдХреНрдпреЛрдВ рд╣реИ? рдареАрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "1" - dbf-ok рд╕реЗ рдПрдХ рдЖрдзрд╛рд░ рдерд╛ред рд╢рд╛рдпрдж рд╣рдо рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

FIAS2 рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ
 CREATE DATABASE [FIAS2] CONTAINMENT = NONE ON PRIMARY ( NAME = N'FIAS', FILENAME = N'E:\Data\FIAS1.mdf' , SIZE = 10485760KB , FILEGROWTH = 1048576KB ) LOG ON ( NAME = N'FIAS_log', FILENAME = N'E:\Data\FIAS1_log.ldf' , SIZE = 1048576KB , FILEGROWTH = 131072KB ) GO ALTER DATABASE [FIAS2] SET COMPATIBILITY_LEVEL = 120 GO ALTER DATABASE [FIAS2] SET ANSI_NULL_DEFAULT ON GO ALTER DATABASE [FIAS2] SET ANSI_NULLS ON GO ALTER DATABASE [FIAS2] SET ANSI_PADDING ON GO ALTER DATABASE [FIAS2] SET ANSI_WARNINGS ON GO ALTER DATABASE [FIAS2] SET ARITHABORT OFF GO ALTER DATABASE [FIAS2] SET AUTO_CLOSE OFF GO ALTER DATABASE [FIAS2] SET AUTO_SHRINK OFF GO ALTER DATABASE [FIAS2] SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF) GO ALTER DATABASE [FIAS2] SET AUTO_UPDATE_STATISTICS ON GO ALTER DATABASE [FIAS2] SET CURSOR_CLOSE_ON_COMMIT OFF GO ALTER DATABASE [FIAS2] SET CURSOR_DEFAULT GLOBAL GO ALTER DATABASE [FIAS2] SET CONCAT_NULL_YIELDS_NULL ON GO ALTER DATABASE [FIAS2] SET NUMERIC_ROUNDABORT OFF GO ALTER DATABASE [FIAS2] SET QUOTED_IDENTIFIER ON GO ALTER DATABASE [FIAS2] SET RECURSIVE_TRIGGERS OFF GO ALTER DATABASE [FIAS2] SET DISABLE_BROKER GO ALTER DATABASE [FIAS2] SET AUTO_UPDATE_STATISTICS_ASYNC OFF GO ALTER DATABASE [FIAS2] SET DATE_CORRELATION_OPTIMIZATION OFF GO ALTER DATABASE [FIAS2] SET PARAMETERIZATION SIMPLE GO ALTER DATABASE [FIAS2] SET READ_COMMITTED_SNAPSHOT ON GO ALTER DATABASE [FIAS2] SET READ_WRITE GO ALTER DATABASE [FIAS2] SET RECOVERY SIMPLE GO ALTER DATABASE [FIAS2] SET MULTI_USER GO ALTER DATABASE [FIAS2] SET PAGE_VERIFY CHECKSUM GO ALTER DATABASE [FIAS2] SET TARGET_RECOVERY_TIME = 0 SECONDS GO ALTER DATABASE [FIAS2] SET DELAYED_DURABILITY = DISABLED GO USE [FIAS2] GO IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [FIAS2] MODIFY FILEGROUP [PRIMARY] DEFAULT GO 


2. рдЪрд▓реЛ рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рдкреНрд▓реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред

рдкрд╣рд▓реА рдкреНрд▓реЗрдЯ рдореЗрдВ xsd рдпреЛрдЬрдирд╛рдПрдВ рд╣реЛрдВрдЧреА, рдФрд░ рджреВрд╕рд░рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрди xsd рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рд╣реЛрдЧреАред

xsd- рдпреЛрдЬрдирд╛рдПрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд╛рдзрд╛рд░рдг xml рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдирдХреЗ рд╕рд╛рде рд╕рд╛рдзрд╛рд░рдг xml-s рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 USE [FIAS2] go if OBJECT_ID('dbo.[_FIAS]') is not null drop table dbo.[_FIAS] go if OBJECT_ID('dbo._FIAS_SCHEMAS') is not null drop table dbo.[_FIAS_SCHEMAS] go Create table dbo.[_FIAS_SCHEMAS] (x xml, [table] sysname) go --  :      ,   . insert into dbo.[_FIAS_SCHEMAS] (x, [table]) SELECT x = CAST(BulkColumn AS XML).query('.'), '_ACTSTAT' [table] FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ACTSTAT_2_250_08_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ADDROBJ' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ADDROBJ_2_250_01_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_CENTERST' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_CENTERST_2_250_10_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_CURENTST' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_CURENTST_2_250_07_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_ADDROBJ' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_ADDROBJ_2_250_15_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_HOUSEINT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_HOUSEINT_2_250_17_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_HOUSE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_HOUSE_2_250_16_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_LANDMARK' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_LANDMARK_2_250_18_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_NORMDOC' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_NORMDOC_2_250_19_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ESTSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ESTSTAT_2_250_13_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_FLATTYPE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_FLATTYPE_2_250_23_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_HOUSEINT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_HOUSEINT_2_250_03_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_HOUSE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_HOUSE_2_250_02_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_HSTSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_HSTSTAT_2_250_12_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_INTVSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_INTVSTAT_2_250_11_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_LANDMARK' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_LANDMARK_2_250_04_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_NDOCTYPE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_NDOCTYPE_2_250_20_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_NORMDOC' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_NORMDOC_2_250_05_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_OPERSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_OPERSTAT_2_250_09_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ROOMTYPE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ROOMTYPE_2_250_24_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ROOM' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ROOM_2_250_21_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_SOCRBASE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_SOCRBASE_2_250_06_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_STEAD' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_STEAD_2_250_22_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_STRSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_STRSTAT_2_250_14_04_01_01.xsd', SINGLE_BLOB) x --  :  ,       ;WITH XMLNAMESPACES ('http://www.w3.org/2001/XMLSchema' as xs) Select a.[table] ,tbl.[root_name] ,tbl.[root_description] ,tbl.[name] ,ROW_NUMBER() over (partition by a.[table] order by 1/0) N ,tbl.[column] ,tbl.[required] ,tbl.[description] ,tbl.[type] ,tbl.[len] ,Case tbl.[type] when N'byte' then N'tinyint' when N'date' then N'date' when N'int' then N'int' when N'string' then Case when tbl.[len] = 36 and (tbl.[column] like N'%ID' or tbl.[column] = N'NORMDOC') then N'uniqueidentifier' when tbl.[len] is Null then N'nvarchar(max)' Else N'nvarchar(' + cast(tbl.[len] as nvarchar(4000)) + N')' END when N'integer' then Case when tbl.[len] > 9 then N'bigint' when tbl.[len] <= 4 then N'smallint' Else N'int' end else N'nvarchar(max)' End [sqltype] ,tnquery('.') [node] into dbo.[_FIAS] from dbo.[_FIAS_SCHEMAS] a Cross apply axnodes('//xs:attribute') t(n) Cross apply (values --     ,    :) ( x.value('(xs:schema[1]/xs:element[1]/@name)', 'nvarchar(255)') ,x.value('(xs:schema[1]/xs:element[1]/xs:annotation/xs:documentation[1]/text())[1]', 'nvarchar(4000)') ,x.value('(xs:schema[1]/xs:element[1]/xs:complexType[1]/xs:sequence[1]/xs:element[1]/@name)', 'nvarchar(255)') ,tnvalue('(./@name)[1]', 'nvarchar(255)') ,tnvalue('(./@use)[1]', 'nvarchar(255)') ,Stuff(Coalesce(tnvalue('(./xs:simpleType/xs:restriction/@base)[1]', 'nvarchar(255)'), tnvalue('(./@type)[1]', 'nvarchar(255)')), 1, 3, '') ,Coalesce(tnvalue('(./xs:simpleType/xs:restriction/xs:length/@value)[1]', 'int') ,tnvalue('(./xs:simpleType/xs:restriction/xs:maxLength/@value)[1]', 'int') ,tnvalue('(./xs:simpleType/xs:restriction/xs:totalDigits/@value)[1]', 'int')) ,Replace( Replace( Replace( Replace( Replace( Replace( Replace( Replace( Replace(tnvalue('(./xs:annotation/xs:documentation)[1]', 'nvarchar(4000)'), ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') ) ) tbl([root_name], [root_description], [name], [column], [required], [type], [len], [description]) --    Select * from dbo.[_FIAS] 

рдЕрдиреБрд░реЛрдз рдкрд░ рдЕрдзрд┐рдХ:

рдкрд╣рд▓реЗ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ xsd рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдпреЛрдЬрдирд╛ рдХреА рдЖрдкреВрд░реНрддрд┐ [рддрд╛рд▓рд┐рдХрд╛] рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИ - рдЙрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдмреЗрд╢рдХ, рдЗрд╕реЗ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдпреЛрдЬрдирд╛рдПрдВ рдмрджрд▓реЗрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдХреБрдЫ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЦрд┐рд╕рдХрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рдлрд┐рд░ рд╕реЗ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рд▓реЗрдХрд┐рди .Kред рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдпрд╣ рдмрджрд▓ рдЧрдпрд╛ рдерд╛ - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрд╖ 16 рдореЗрдВ - рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдСрдЯреЛрдореЗрдЯрди рдмрдирд╛рдирд╛ рдмреЗрд╣рдж рдЖрд▓рд╕реА рд╣реИред CTRL + C - CTRL + V рдкрд░ 30 рд╕реЗрдХрдВрдб рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд▓реЗрдЯ рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИ, рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдирд╛рдо, рдкрде рд╣рд╛рде рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред

рджреВрд╕рд░реА рдХреНрд╡реЗрд░реА - рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЦреАрдВрдЪрддреА рд╣реИред рдореИрдВрдиреЗ 3-рдПрдирдПрдл рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХ рдЯреЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ред

рд╡реИрд╕реЗ, рдЗрд╕ рдЯреБрдХрдбрд╝реЗ (+) рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ

рдЕрдХреНрд╕рд░, рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧ рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВ: рдХреНрдпрд╛ 1 рдмрд╛рд░ рдХреНрд╡реЗрд░реА рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрдЯрд┐рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╣рд╛рдБ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 from dbo.[_FIAS_SCHEMAS] a Cross apply axnodes('//xs:attribute') t(n) Cross apply (values --     ,    :) ( x.value('(xs:schema[1]/xs:element[1]/@name)', 'nvarchar(255)') , ...      ,         ) ) tbl([root_name], [root_description], [name], [column], [required], [type], [len], [description]) 

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рд╕рдордЭ рдЬрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╣реИрдВред

3. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдБ рдЬреЛ FIAS рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрд╡рдпрдВ рд╕рд╛рд░рдгрд┐рдпрд╛рдБ рдмрдирд╛рддреЗ рд╣реИрдВ:

 Declare @schema sysname = N'dbo' Declare @sql nvarchar(max) --     ,    set @sql = ( Select Distinct N';Create table ' + Quotename(@schema) + N'.' + Quotename([table]) + N'(' + Stuff((Select N',' + QUOTENAME(b.[column]) + N' ' + b.[sqltype] + Case b.[required] when 'required' then N' NOT NULL' when 'optional' then N' NULL' End From dbo.[_FIAS] b where b.[table] = a.[table] Order by N ASC For xml path(N''), type ).value(N'.', 'nvarchar(max)'), 1, 1, N'') + N')' from dbo.[_FIAS] a For xml path(N''), type).value(N'.', N'nvarchar(max)') exec (@sql) 

рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА - рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдПрдиреЛрдЯреЗрдЯ рдПрдлрдЖрдИрдПрдПрд╕ рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдХреНрд╡реЗрд░реА рд╕реЗ рдЙрддреНрдкрдиреНрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз
 ; CREATE TABLE [dbo].[_ACTSTAT] ( [NAME] NVARCHAR(100) NOT NULL ,[ACTSTATID] BIGINT NOT NULL ); CREATE TABLE [dbo].[_ADDROBJ] ( [AOGUID] UNIQUEIDENTIFIER NOT NULL ,[FORMALNAME] NVARCHAR(120) NOT NULL ,[REGIONCODE] NVARCHAR(2) NOT NULL ,[AUTOCODE] NVARCHAR(1) NOT NULL ,[AREACODE] NVARCHAR(3) NOT NULL ,[CITYCODE] NVARCHAR(3) NOT NULL ,[CTARCODE] NVARCHAR(3) NOT NULL ,[PLACECODE] NVARCHAR(3) NOT NULL ,[PLANCODE] NVARCHAR(4) NOT NULL ,[STREETCODE] NVARCHAR(4) NULL ,[EXTRCODE] NVARCHAR(4) NOT NULL ,[SEXTCODE] NVARCHAR(3) NOT NULL ,[OFFNAME] NVARCHAR(120) NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[OKATO] NVARCHAR(11) NULL ,[UPDATEDATE] DATE NOT NULL ,[SHORTNAME] NVARCHAR(10) NOT NULL ,[AOLEVEL] BIGINT NOT NULL ,[PARENTGUID] UNIQUEIDENTIFIER NULL ,[AOID] UNIQUEIDENTIFIER NOT NULL ,[PREVID] UNIQUEIDENTIFIER NULL ,[NEXTID] UNIQUEIDENTIFIER NULL ,[CODE] NVARCHAR(17) NULL ,[PLAINCODE] NVARCHAR(15) NULL ,[ACTSTATUS] BIGINT NOT NULL ,[CENTSTATUS] BIGINT NOT NULL ,[OPERSTATUS] BIGINT NOT NULL ,[CURRSTATUS] BIGINT NOT NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[LIVESTATUS] TINYINT NOT NULL ,[DIVTYPE] INT NOT NULL ,[OKTMO] NVARCHAR(11) NULL ); CREATE TABLE [dbo].[_CENTERST] ( [CENTERSTID] BIGINT NOT NULL ,[NAME] NVARCHAR(100) NOT NULL ); CREATE TABLE [dbo].[_CURENTST] ( [CURENTSTID] BIGINT NOT NULL ,[NAME] NVARCHAR(100) NOT NULL ); CREATE TABLE [dbo].[_DEL_ADDROBJ] ( [AOGUID] UNIQUEIDENTIFIER NOT NULL ,[FORMALNAME] NVARCHAR(120) NOT NULL ,[REGIONCODE] NVARCHAR(2) NOT NULL ,[AUTOCODE] NVARCHAR(1) NOT NULL ,[AREACODE] NVARCHAR(3) NOT NULL ,[CITYCODE] NVARCHAR(3) NOT NULL ,[CTARCODE] NVARCHAR(3) NOT NULL ,[PLACECODE] NVARCHAR(3) NOT NULL ,[STREETCODE] NVARCHAR(4) NULL ,[EXTRCODE] NVARCHAR(4) NOT NULL ,[PLANCODE] NVARCHAR(4) NOT NULL ,[SEXTCODE] NVARCHAR(3) NOT NULL ,[OFFNAME] NVARCHAR(120) NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[SHORTNAME] NVARCHAR(10) NOT NULL ,[AOLEVEL] BIGINT NOT NULL ,[PARENTGUID] UNIQUEIDENTIFIER NULL ,[AOID] UNIQUEIDENTIFIER NOT NULL ,[PREVID] UNIQUEIDENTIFIER NULL ,[NEXTID] UNIQUEIDENTIFIER NULL ,[CODE] NVARCHAR(17) NULL ,[PLAINCODE] NVARCHAR(15) NULL ,[ACTSTATUS] BIGINT NOT NULL ,[CENTSTATUS] BIGINT NOT NULL ,[OPERSTATUS] BIGINT NOT NULL ,[CURRSTATUS] BIGINT NOT NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[LIVESTATUS] TINYINT NOT NULL ,[IFNSFL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[OKATO] NVARCHAR(11) NULL ,[OKTMO] NVARCHAR(11) NULL ,[UPDATEDATE] DATE NOT NULL ); CREATE TABLE [dbo].[_DEL_HOUSE] ( [POSTALCODE] NVARCHAR(6) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[OKATO] NVARCHAR(11) NULL ,[OKTMO] NVARCHAR(11) NULL ,[UPDATEDATE] DATE NOT NULL ,[HOUSENUM] NVARCHAR(20) NULL ,[ESTSTATUS] SMALLINT NOT NULL ,[BUILDNUM] NVARCHAR(10) NULL ,[STRUCNUM] NVARCHAR(10) NULL ,[STRSTATUS] BIGINT NULL ,[HOUSEID] UNIQUEIDENTIFIER NOT NULL ,[HOUSEGUID] UNIQUEIDENTIFIER NOT NULL ,[AOGUID] UNIQUEIDENTIFIER NOT NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[STATSTATUS] BIGINT NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[COUNTER] BIGINT NOT NULL ,[CADNUM] NVARCHAR(100) NULL ,[DIVTYPE] INT NOT NULL ); CREATE TABLE [dbo].[_DEL_HOUSEINT] ( [IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[OKATO] NVARCHAR(11) NULL ,[OKTMO] NVARCHAR(11) NULL ,[UPDATEDATE] DATE NOT NULL ,[INTSTART] BIGINT NOT NULL ,[INTEND] BIGINT NOT NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[HOUSEINTID] UNIQUEIDENTIFIER NOT NULL ,[INTGUID] UNIQUEIDENTIFIER NOT NULL ,[AOGUID] UNIQUEIDENTIFIER NOT NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[INTSTATUS] BIGINT NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[COUNTER] BIGINT NOT NULL ); CREATE TABLE [dbo].[_DEL_LANDMARK] ( [LOCATION] NVARCHAR(500) NOT NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[OKATO] NVARCHAR(11) NULL ,[OKTMO] NVARCHAR(11) NULL ,[UPDATEDATE] DATE NOT NULL ,[LANDID] UNIQUEIDENTIFIER NOT NULL ,[LANDGUID] UNIQUEIDENTIFIER NOT NULL ,[AOGUID] UNIQUEIDENTIFIER NOT NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ); CREATE TABLE [dbo].[_DEL_NORMDOC] ( [NORMDOCID] UNIQUEIDENTIFIER NOT NULL ,[DOCNAME] NVARCHAR(max) NULL ,[DOCDATE] DATE NULL ,[DOCNUM] NVARCHAR(20) NULL ,[DOCTYPE] BIGINT NOT NULL ,[DOCIMGID] UNIQUEIDENTIFIER NULL ); CREATE TABLE [dbo].[_ESTSTAT] ( [ESTSTATID] BIGINT NOT NULL ,[NAME] NVARCHAR(20) NOT NULL ,[SHORTNAME] NVARCHAR(20) NULL ); CREATE TABLE [dbo].[_FLATTYPE] ( [SHORTNAME] NVARCHAR(20) NULL ,[FLTYPEID] BIGINT NOT NULL ,[NAME] NVARCHAR(20) NOT NULL ); CREATE TABLE [dbo].[_HOUSE] ( [POSTALCODE] NVARCHAR(6) NULL ,[REGIONCODE] NVARCHAR(2) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[OKATO] NVARCHAR(11) NULL ,[OKTMO] NVARCHAR(11) NULL ,[UPDATEDATE] DATE NOT NULL ,[HOUSENUM] NVARCHAR(20) NULL ,[ESTSTATUS] SMALLINT NOT NULL ,[BUILDNUM] NVARCHAR(10) NULL ,[STRUCNUM] NVARCHAR(10) NULL ,[STRSTATUS] BIGINT NULL ,[HOUSEID] UNIQUEIDENTIFIER NOT NULL ,[HOUSEGUID] UNIQUEIDENTIFIER NOT NULL ,[AOGUID] UNIQUEIDENTIFIER NOT NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[STATSTATUS] BIGINT NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[COUNTER] BIGINT NOT NULL ,[CADNUM] NVARCHAR(100) NULL ,[DIVTYPE] INT NOT NULL ); CREATE TABLE [dbo].[_HOUSEINT] ( [OKTMO] NVARCHAR(11) NULL ,[OKATO] NVARCHAR(11) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[ENDDATE] DATE NOT NULL ,[INTSTATUS] BIGINT NOT NULL ,[AOGUID] UNIQUEIDENTIFIER NOT NULL ,[STARTDATE] DATE NOT NULL ,[INTGUID] UNIQUEIDENTIFIER NOT NULL ,[HOUSEINTID] UNIQUEIDENTIFIER NOT NULL ,[INTSTART] BIGINT NOT NULL ,[INTEND] BIGINT NOT NULL ,[UPDATEDATE] DATE NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[COUNTER] BIGINT NOT NULL ); CREATE TABLE [dbo].[_HSTSTAT] ( [HOUSESTID] BIGINT NOT NULL ,[NAME] NVARCHAR(60) NOT NULL ); CREATE TABLE [dbo].[_INTVSTAT] ( [INTVSTATID] BIGINT NOT NULL ,[NAME] NVARCHAR(60) NOT NULL ); CREATE TABLE [dbo].[_LANDMARK] ( [NORMDOC] UNIQUEIDENTIFIER NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[LANDGUID] UNIQUEIDENTIFIER NOT NULL ,[AOGUID] UNIQUEIDENTIFIER NOT NULL ,[LANDID] UNIQUEIDENTIFIER NOT NULL ,[LOCATION] NVARCHAR(500) NOT NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[UPDATEDATE] DATE NOT NULL ,[OKTMO] NVARCHAR(11) NULL ,[OKATO] NVARCHAR(11) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ); CREATE TABLE [dbo].[_NDOCTYPE] ( [NDTYPEID] BIGINT NOT NULL ,[NAME] NVARCHAR(250) NOT NULL ); CREATE TABLE [dbo].[_NORMDOC] ( [NORMDOCID] UNIQUEIDENTIFIER NOT NULL ,[DOCNAME] NVARCHAR(max) NULL ,[DOCDATE] DATE NULL ,[DOCNUM] NVARCHAR(20) NULL ,[DOCTYPE] BIGINT NOT NULL ,[DOCIMGID] UNIQUEIDENTIFIER NULL ); CREATE TABLE [dbo].[_OPERSTAT] ( [OPERSTATID] BIGINT NOT NULL ,[NAME] NVARCHAR(100) NOT NULL ); CREATE TABLE [dbo].[_ROOM] ( [ROOMGUID] UNIQUEIDENTIFIER NOT NULL ,[FLATNUMBER] NVARCHAR(50) NOT NULL ,[FLATTYPE] INT NOT NULL ,[ROOMNUMBER] NVARCHAR(50) NULL ,[ROOMTYPE] INT NULL ,[REGIONCODE] NVARCHAR(2) NOT NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[UPDATEDATE] DATE NOT NULL ,[HOUSEGUID] UNIQUEIDENTIFIER NOT NULL ,[ROOMID] UNIQUEIDENTIFIER NOT NULL ,[PREVID] UNIQUEIDENTIFIER NULL ,[NEXTID] UNIQUEIDENTIFIER NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[LIVESTATUS] TINYINT NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[OPERSTATUS] BIGINT NOT NULL ,[CADNUM] NVARCHAR(100) NULL ,[ROOMCADNUM] NVARCHAR(100) NULL ); CREATE TABLE [dbo].[_ROOMTYPE] ( [SHORTNAME] NVARCHAR(20) NULL ,[NAME] NVARCHAR(20) NOT NULL ,[RMTYPEID] BIGINT NOT NULL ); CREATE TABLE [dbo].[_SOCRBASE] ( [LEVEL] BIGINT NOT NULL ,[SCNAME] NVARCHAR(10) NULL ,[SOCRNAME] NVARCHAR(50) NOT NULL ,[KOD_T_ST] NVARCHAR(4) NOT NULL ); CREATE TABLE [dbo].[_STEAD] ( [STEADGUID] UNIQUEIDENTIFIER NOT NULL ,[NUMBER] NVARCHAR(120) NULL ,[REGIONCODE] NVARCHAR(2) NOT NULL ,[POSTALCODE] NVARCHAR(6) NULL ,[IFNSFL] NVARCHAR(4) NULL ,[TERRIFNSFL] NVARCHAR(4) NULL ,[IFNSUL] NVARCHAR(4) NULL ,[TERRIFNSUL] NVARCHAR(4) NULL ,[OKATO] NVARCHAR(11) NULL ,[OKTMO] NVARCHAR(11) NULL ,[UPDATEDATE] DATE NOT NULL ,[PARENTGUID] UNIQUEIDENTIFIER NULL ,[STEADID] UNIQUEIDENTIFIER NOT NULL ,[PREVID] UNIQUEIDENTIFIER NULL ,[NEXTID] UNIQUEIDENTIFIER NULL ,[OPERSTATUS] BIGINT NOT NULL ,[STARTDATE] DATE NOT NULL ,[ENDDATE] DATE NOT NULL ,[NORMDOC] UNIQUEIDENTIFIER NULL ,[LIVESTATUS] TINYINT NOT NULL ,[CADNUM] NVARCHAR(100) NULL ,[DIVTYPE] INT NOT NULL ); CREATE TABLE [dbo].[_STRSTAT] ( [NAME] NVARCHAR(20) NOT NULL ,[SHORTNAME] NVARCHAR(20) NULL ,[STRSTATID] BIGINT NOT NULL ) 


4. рдЬрдм рддрдХ xsd рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдЦреЗрддреЛрдВ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ, рддрдм рддрдХ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЙрдиреНрдирдд рдЧреБрдгреЛрдВ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ:

 --       Set @sql = ( Select N'; exec sp_addextendedproperty @name=''description'', @value=N''' + a.[root_description] + N''', @level0type =N''Schema'', @level0name = N''' + @schema + N''', @level1type = N''Table'', @level1name = N''' + a.[table] + N'''' from (Select distinct [table], [root_description] from dbo.[_FIAS]) a for xml path(N''), type ).value(N'.', N'nvarchar(max)') exec (@sql) Set @sql = ( Select N'; exec sp_addextendedproperty @name=''description'', @value=N''' + a.[description] + N''', @level0type =N''Schema'', @level0name = N''' + @schema + N''', @level1type = N''Table'', @level1name = N''' + a.[table] + N''', @level2type = N''Column'', @level2name = N''' + a.[column] + N'''' from dbo.[_FIAS] a for xml path(N''), type ).value(N'.', N'nvarchar(max)') exec (@sql) 

рдпрд╣рд╛рдВ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╛рд╣рд░ рдЖрдпрд╛ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛
 ; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ACTSTAT'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'          ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_CENTERST'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'          4.0   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_CURENTST'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'          ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'             ,     .   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'              ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'          ,         ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ESTSTAT'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_FLATTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'                ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'            ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HSTSTAT'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'            ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_INTVSTAT'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'              ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'            ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NDOCTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'          ,         ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_OPERSTAT'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'       ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOMTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'            ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_SOCRBASE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'        ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'           ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STRSTAT' ; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'FORMALNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'REGIONCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AUTOCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AREACODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CITYCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CTARCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PLACECODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PLANCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'STREETCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'EXTRCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'SEXTCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OFFNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'SHORTNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AOLEVEL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PARENTGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  .  .' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AOID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PREVID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'NEXTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'          4.0. ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     4.0      (  )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PLAINCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    .     .      . 0 тАУ   1 -  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'ACTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CENTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    тАУ    (.   OperationStatus): 01 тАУ ; 10 тАУ ; 20 тАУ ; 21 тАУ  ; 30 тАУ ; 31 -     ; 40 тАУ    (); 41 тАУ     ; 42 -        ; 43 -         ; 50 тАУ ; 51 тАУ     ; 60 тАУ    ; 61 тАУ        ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OPERSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   4 (    )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CURRSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'LIVESTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  : 0 -   1 - ; 2 - - ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'DIVTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ()' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_CURENTST' ,@level2type = N'Column' ,@level2name = N'CURENTSTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' (0 - , 1-50, 2-98 тАУ  ( 51), 51 - , 99 - )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_CURENTST' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_FLATTYPE' ,@level2type = N'Column' ,@level2name = N'SHORTNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_FLATTYPE' ,@level2type = N'Column' ,@level2name = N'FLTYPEID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_FLATTYPE' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HSTSTAT' ,@level2type = N'Column' ,@level2name = N'HOUSESTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HSTSTAT' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ()' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NDOCTYPE' ,@level2type = N'Column' ,@level2name = N'NDTYPEID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NDOCTYPE' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ()' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_OPERSTAT' ,@level2type = N'Column' ,@level2name = N'OPERSTATID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' 01 тАУ ; 10 тАУ ; 20 тАУ ; 21 тАУ  ; 30 тАУ ; 31 -     ; 40 тАУ    (); 41 тАУ     ; 42 -        ; 43 -         ; 50 тАУ ; 51 тАУ     ; 60 тАУ    ; 61 тАУ       ; 70 тАУ    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_OPERSTAT' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'FORMALNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'REGIONCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AUTOCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AREACODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CITYCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CTARCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PLACECODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'STREETCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'EXTRCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PLANCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'SEXTCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OFFNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'SHORTNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AOLEVEL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PARENTGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  .  .' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'AOID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PREVID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'NEXTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'          4.0. ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     4.0      (  )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'PLAINCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    .     .      . 0 тАУ   1 -  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'ACTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CENTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    тАУ    (.   OperationStatus): 01 тАУ ; 10 тАУ ; 20 тАУ ; 21 тАУ  ; 30 тАУ ; 31 -     ; 40 тАУ    (); 41 тАУ     ; 42 -        ; 43 -         ; 50 тАУ ; 51 тАУ     ; 60 тАУ    ; 61 тАУ        ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OPERSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   4 (    )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'CURRSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'LIVESTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_ADDROBJ' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTSTART'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTEND'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'HOUSEINTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    (, ,    ..)' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  (, , )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     4' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'COUNTER'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_NORMDOC' ,@level2type = N'Column' ,@level2name = N'NORMDOCID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ( )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCIMGID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  (, , )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    (, ,    ..)' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'HOUSEINTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTSTART'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'INTEND'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     4' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSEINT' ,@level2type = N'Column' ,@level2name = N'COUNTER'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  (, , )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_INTVSTAT' ,@level2type = N'Column' ,@level2name = N'INTVSTATID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_INTVSTAT' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'LANDGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    (, ,    ..)' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'LANDID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'LOCATION'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_LANDMARK' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NORMDOC' ,@level2type = N'Column' ,@level2name = N'NORMDOCID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ( )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_NORMDOC' ,@level2type = N'Column' ,@level2name = N'DOCIMGID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOMTYPE' ,@level2type = N'Column' ,@level2name = N'SHORTNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOMTYPE' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOMTYPE' ,@level2type = N'Column' ,@level2name = N'RMTYPEID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_SOCRBASE' ,@level2type = N'Column' ,@level2name = N'LEVEL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_SOCRBASE' ,@level2type = N'Column' ,@level2name = N'SCNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_SOCRBASE' ,@level2type = N'Column' ,@level2name = N'SOCRNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_SOCRBASE' ,@level2type = N'Column' ,@level2name = N'KOD_T_ST'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' 0 тАУ   1 тАУ  (    ) ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ACTSTAT' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ()' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ACTSTAT' ,@level2type = N'Column' ,@level2name = N'ACTSTATID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_CENTERST' ,@level2type = N'Column' ,@level2name = N'CENTERSTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_CENTERST' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'HOUSENUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'ESTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'BUILDNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'STRUCNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'STRSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'HOUSEID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'HOUSEGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'Guid    (, ,    ..)' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'STATSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     4' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'COUNTER'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'CADNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' : 0 -   1 - ; 2 - -' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_HOUSE' ,@level2type = N'Column' ,@level2name = N'DIVTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ESTSTAT' ,@level2type = N'Column' ,@level2name = N'ESTSTATID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ESTSTAT' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ESTSTAT' ,@level2type = N'Column' ,@level2name = N'SHORTNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     ( )' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'STEADGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'NUMBER'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'REGIONCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'PARENTGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  .  .' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'STEADID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'PREVID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'NEXTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    тАУ    (.   OperationStatus): 01 тАУ ; 10 тАУ ; 20 тАУ ; 21 тАУ  ; 30 тАУ ; 31 -     ; 40 тАУ    (); 41 тАУ     ; 42 -        ; 43 -         ; 50 тАУ ; 51 тАУ     ; 60 тАУ    ; 61 тАУ        ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'OPERSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'LIVESTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'CADNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' : 0 -   1 - ; 2 - -' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STEAD' ,@level2type = N'Column' ,@level2name = N'DIVTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'LOCATION'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'LANDID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'LANDGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    (, ,    ..)' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_DEL_LANDMARK' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'REGIONCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'IFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'TERRIFNSFL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'IFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'TERRIFNSUL'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKATO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'OKATO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'OKTMO' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'OKTMO'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'HOUSENUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'ESTSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'BUILDNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'STRUCNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'STRSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'HOUSEID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'HOUSEGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'Guid    (, ,    ..)' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'AOGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'STATSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     4' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'COUNTER'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'CADNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' : 0 -   1 - ; 2 - -' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_HOUSE' ,@level2type = N'Column' ,@level2name = N'DIVTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'     ()' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'ROOMGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'FLATNUMBER'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'FLATTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'ROOMNUMBER'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'ROOMTYPE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'REGIONCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'POSTALCODE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'UPDATEDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ()' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'HOUSEGUID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  .  .' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'ROOMID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'PREVID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'      ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'NEXTID'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'STARTDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'ENDDATE'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'   ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'LIVESTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'NORMDOC'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    тАУ    (.   OperationStatus): 01 тАУ ; 10 тАУ ; 20 тАУ ; 21 тАУ  ; 30 тАУ ; 31 -     ; 40 тАУ    (); 41 тАУ     ; 42 -        ; 43 -         ; 50 тАУ ; 51 тАУ     ; 60 тАУ    ; 61 тАУ        ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'OPERSTATUS'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'  ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'CADNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'    ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_ROOM' ,@level2type = N'Column' ,@level2name = N'ROOMCADNUM'; EXEC sp_addextendedproperty @name = 'description' ,@value = N'' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STRSTAT' ,@level2type = N'Column' ,@level2name = N'NAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STRSTAT' ,@level2type = N'Column' ,@level2name = N'SHORTNAME'; EXEC sp_addextendedproperty @name = 'description' ,@value = N' ' ,@level0type = N'Schema' ,@level0name = N'dbo' ,@level1type = N'Table' ,@level1name = N'_STRSTAT' ,@level2type = N'Column' ,@level2name = N'STRSTATID' 


5. :

 --      update a Set x.modify ('declare namespace xs="http://www.w3.org/2001/XMLSchema"; insert <xs:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="./sqltypes.xsd" /> as first into (xs:schema)[1]') from dbo.[_FIAS_SCHEMAS] a --    update a Set x.modify('declare namespace ss="urn:schemas-microsoft-com:mapping-schema"; insert ( attribute ss:is-constant {"1"} ) into (/xs:schema[1]/xs:element[1])') from dbo.[_FIAS_SCHEMAS] a --  ,         update a Set x.modify('declare namespace ss="urn:schemas-microsoft-com:mapping-schema"; insert ( attribute ss:relation {sql:column("a.table")} ) into (xs:schema[1]/xs:element[1]/xs:complexType[1]/xs:sequence[1]/xs:element[1])') from dbo.[_FIAS_SCHEMAS] a --     -- ..  1       -    Declare @table nvarchar(4000) Declare @column nvarchar(4000) Declare cur CURSOR LOCAL FORWARD_ONLY for Select [table], [column] from dbo.[_FIAS] Open cur FETCH NEXT FROM cur into @table, @column WHILE @@FETCH_STATUS = 0 BEGIN update a Set x.modify('declare namespace ss="urn:schemas-microsoft-com:mapping-schema"; insert ( attribute ss:field {sql:column("t.column")} ,attribute ss:datatype {sql:column("b.sqltype")} ) into (//xs:attribute[@name = sql:column("b.column")])[1]') from dbo.[_FIAS_SCHEMAS] a inner join dbo.[_FIAS] b on a.[table] = b.[table] cross apply (Values(QUOTENAME(b.[column]))) t([column]) Where b.[table] = @table and b.[column] = @column FETCH NEXT FROM cur into @table, @column END CLOSE cur; DEALLOCATE cur; 

6. , , xsd :

 --   --  ,     - ! Set @sql = ( Select N'; exec xp_cmdshell ''bcp "Select [x] from [FIAS2].[dbo].[_FIAS_SCHEMAS] where [table] = ''''' + a.[table] + '''''" queryout "c:\files\FIAS\' + a.[table] + '.xsd" -S . -T -w''' from dbo.[_FIAS_SCHEMAS] a for xml path(N''), type ).value(N'.', N'nvarchar(max)') exec (@sql) 

! :-)))

, , , :
 USE [FIAS2] go if OBJECT_ID('dbo.[_FIAS]') is not null drop table dbo.[_FIAS] go if OBJECT_ID('dbo._FIAS_SCHEMAS') is not null drop table dbo.[_FIAS_SCHEMAS] go Declare @schema sysname = N'dbo' Declare @sql nvarchar(max) Create table dbo.[_FIAS_SCHEMAS] (x xml, [table] sysname) insert into dbo.[_FIAS_SCHEMAS] (x, [table]) SELECT x = CAST(BulkColumn AS XML).query('.'), '_ACTSTAT' [table] FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ACTSTAT_2_250_08_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ADDROBJ' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ADDROBJ_2_250_01_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_CENTERST' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_CENTERST_2_250_10_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_CURENTST' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_CURENTST_2_250_07_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_ADDROBJ' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_ADDROBJ_2_250_15_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_HOUSEINT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_HOUSEINT_2_250_17_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_HOUSE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_HOUSE_2_250_16_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_LANDMARK' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_LANDMARK_2_250_18_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_DEL_NORMDOC' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_DEL_NORMDOC_2_250_19_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ESTSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ESTSTAT_2_250_13_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_FLATTYPE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_FLATTYPE_2_250_23_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_HOUSEINT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_HOUSEINT_2_250_03_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_HOUSE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_HOUSE_2_250_02_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_HSTSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_HSTSTAT_2_250_12_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_INTVSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_INTVSTAT_2_250_11_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_LANDMARK' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_LANDMARK_2_250_04_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_NDOCTYPE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_NDOCTYPE_2_250_20_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_NORMDOC' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_NORMDOC_2_250_05_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_OPERSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_OPERSTAT_2_250_09_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ROOMTYPE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ROOMTYPE_2_250_24_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_ROOM' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_ROOM_2_250_21_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_SOCRBASE' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_SOCRBASE_2_250_06_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_STEAD' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_STEAD_2_250_22_04_01_01.xsd', SINGLE_BLOB) x Union all SELECT x = CAST(BulkColumn AS XML).query('.'), '_STRSTAT' FROM OPENROWSET(BULK '\\s01sq03\c$\files\FIAS\AS_STRSTAT_2_250_14_04_01_01.xsd', SINGLE_BLOB) x ;WITH XMLNAMESPACES ('http://www.w3.org/2001/XMLSchema' as xs) Select a.[table] ,tbl.[root_name] ,tbl.[root_description] ,tbl.[name] ,ROW_NUMBER() over (partition by a.[table] order by 1/0) N ,tbl.[column] ,tbl.[required] ,tbl.[description] ,tbl.[type] ,tbl.[len] ,Case tbl.[type] when N'byte' then N'tinyint' when N'date' then N'date' when N'int' then N'int' when N'string' then Case when tbl.[len] = 36 and (tbl.[column] like N'%ID' or tbl.[column] = N'NORMDOC') then N'uniqueidentifier' when tbl.[len] is Null then N'nvarchar(max)' Else N'nvarchar(' + cast(tbl.[len] as nvarchar(4000)) + N')' END when N'integer' then Case when tbl.[len] > 9 then N'bigint' when tbl.[len] <= 4 then N'smallint' Else N'int' end else N'nvarchar(max)' End [sqltype] ,tnquery('.') [node] into dbo.[_FIAS] from dbo.[_FIAS_SCHEMAS] a Cross apply axnodes('//xs:attribute') t(n) Cross apply (values --     ,    :) ( x.value('(xs:schema[1]/xs:element[1]/@name)', 'nvarchar(255)') ,x.value('(xs:schema[1]/xs:element[1]/xs:annotation/xs:documentation[1]/text())[1]', 'nvarchar(4000)') ,x.value('(xs:schema[1]/xs:element[1]/xs:complexType[1]/xs:sequence[1]/xs:element[1]/@name)', 'nvarchar(255)') ,tnvalue('(./@name)[1]', 'nvarchar(255)') ,tnvalue('(./@use)[1]', 'nvarchar(255)') ,Stuff(Coalesce(tnvalue('(./xs:simpleType/xs:restriction/@base)[1]', 'nvarchar(255)'), tnvalue('(./@type)[1]', 'nvarchar(255)')), 1, 3, '') ,Coalesce(tnvalue('(./xs:simpleType/xs:restriction/xs:length/@value)[1]', 'int') ,tnvalue('(./xs:simpleType/xs:restriction/xs:maxLength/@value)[1]', 'int') ,tnvalue('(./xs:simpleType/xs:restriction/xs:totalDigits/@value)[1]', 'int')) ,Replace( Replace( Replace( Replace( Replace( Replace( Replace( Replace( Replace(tnvalue('(./xs:annotation/xs:documentation)[1]', 'nvarchar(4000)'), ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') , ' ', ' ') ) ) tbl([root_name], [root_description], [name], [column], [required], [type], [len], [description]) --    Select * from dbo.[_FIAS] --     ,    set @sql = ( Select Distinct N';Create table ' + Quotename(@schema) + N'.' + Quotename([table]) + N'(' + Stuff((Select N',' + QUOTENAME(b.[column]) + N' ' + b.[sqltype] + Case b.[required] when 'required' then N' NOT NULL' when 'optional' then N' NULL' End From dbo.[_FIAS] b where b.[table] = a.[table] Order by N ASC For xml path(N''), type ).value(N'.', 'nvarchar(max)'), 1, 1, N'') + N')' from dbo.[_FIAS] a For xml path(N''), type).value(N'.', N'nvarchar(max)') exec (@sql) --       Set @sql = ( Select N'; exec sp_addextendedproperty @name=''description'', @value=N''' + a.[root_description] + N''', @level0type =N''Schema'', @level0name = N''' + @schema + N''', @level1type = N''Table'', @level1name = N''' + a.[table] + N'''' from (Select distinct [table], [root_description] from dbo.[_FIAS]) a for xml path(N''), type ).value(N'.', N'nvarchar(max)') exec (@sql) Set @sql = ( Select N'; exec sp_addextendedproperty @name=''description'', @value=N''' + a.[description] + N''', @level0type =N''Schema'', @level0name = N''' + @schema + N''', @level1type = N''Table'', @level1name = N''' + a.[table] + N''', @level2type = N''Column'', @level2name = N''' + a.[column] + N'''' from dbo.[_FIAS] a for xml path(N''), type ).value(N'.', N'nvarchar(max)') exec (@sql) --      update a Set x.modify ('declare namespace xs="http://www.w3.org/2001/XMLSchema"; insert <xs:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="./sqltypes.xsd" /> as first into (xs:schema)[1]') from dbo.[_FIAS_SCHEMAS] a --    update a Set x.modify('declare namespace ss="urn:schemas-microsoft-com:mapping-schema"; insert ( attribute ss:is-constant {"1"} ) into (/xs:schema[1]/xs:element[1])') from dbo.[_FIAS_SCHEMAS] a --  ,         update a Set x.modify('declare namespace ss="urn:schemas-microsoft-com:mapping-schema"; insert ( attribute ss:relation {sql:column("a.table")} ) into (xs:schema[1]/xs:element[1]/xs:complexType[1]/xs:sequence[1]/xs:element[1])') from dbo.[_FIAS_SCHEMAS] a --     -- ..  1       -    Declare @table nvarchar(4000) Declare @column nvarchar(4000) Declare cur CURSOR LOCAL FORWARD_ONLY for Select [table], [column] from dbo.[_FIAS] Open cur FETCH NEXT FROM cur into @table, @column WHILE @@FETCH_STATUS = 0 BEGIN update a Set x.modify('declare namespace ss="urn:schemas-microsoft-com:mapping-schema"; insert ( attribute ss:field {sql:column("t.column")} ,attribute ss:datatype {sql:column("b.sqltype")} ) into (//xs:attribute[@name = sql:column("b.column")])[1]') from dbo.[_FIAS_SCHEMAS] a inner join dbo.[_FIAS] b on a.[table] = b.[table] cross apply (Values(QUOTENAME(b.[column]))) t([column]) Where b.[table] = @table and b.[column] = @column FETCH NEXT FROM cur into @table, @column END CLOSE cur; DEALLOCATE cur; --   --  ,     - ! Set @sql = ( Select N'; exec xp_cmdshell ''bcp "Select [x] from [FIAS2].[dbo].[_FIAS_SCHEMAS] where [table] = ''''' + a.[table] + '''''" queryout "c:\files\FIAS\' + a.[table] + '.xsd" -S . -T -w''' from dbo.[_FIAS_SCHEMAS] a for xml path(N''), type ).value(N'.', N'nvarchar(max)') exec (@sql) 


xml ( e:\tmp, тАФ c:\files\FIAS):

 USE FIAS2 GO Declare @sql nvarchar(max) if OBJECT_ID('tempdb..#t') is not null drop table #t Create table #t ([output] sysname NULL) insert into #t exec xp_cmdshell 'dir e:\tmp /B' ;With load_data as ( Select '_' + txvalue('(a[2])', 'nvarchar(255)') [table] ,txvalue('(a[3])', 'date') [fias_date] ,txvalue('(a[4])', 'uniqueidentifier') [fias_guid] ,a.[output] [file_name] from #ta cross apply (VALUES(Cast('<a>' + Replace(Replace(Replace(Replace(a.[output],'DEL_', 'DEL$'), '_', '</a><a>'), '.', '</a><a>'), '$', '_') + '</a>' as xml))) t(x) Where [output] like 'AS[_]%.xml' ) Select @sql = (Select N';exec [dbo].[spXMLBulkLoad] ''e:\tmp\' + a.[file_name] + ''', ''c:\files\FIAS\' + b.[table] + '.xsd'', ''FIAS2'', ''e:\tmp\err.xml''' from load_data a inner join [dbo].[_FIAS_SCHEMAS] b on a.[table] = b.[table] For xml path(''), type).value(N'.', N'nvarchar(max)') Exec (@sql) 

тАж

, - .

, , !
!
, . .

5 (sic!!!). .

- 3 /, .

3 , тАФ 8 . , , 60 .
тАФ , , , .

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓рджрд╛рди рдвреЗрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЙрдирдХреЗ рдХрд┐рд╕реА AOID рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпреЛрдВрдХрд┐ GUID, , , тАФ , - 50, . , .

( _ ). , , , , , Alter table switch.

.
, int, tinyint, nvarchar , , .
:-(.

, , , [dbo].[_FIAS], , , .

, , , dbf, , , dbf. .

dbf 8 1 , , .

тАж , , , тАж тАж , data tier application, , , SSIS.

.

тЖТ рдЕрдиреБрд▓реЗрдЦ рдФрд░ xsd рдпреЛрдЬрдирд╛рдПрдБ

рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ:

тЖТ FIAS

рдХреБрддреНрддреЗ рдХреА рддрд╕реНрд╡реАрд░ рдореЗрд░реА рдирд╣реАрдВ рд╣реИ :-)

Source: https://habr.com/ru/post/hi451720/


All Articles