<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/49143.aspx</link><pubDate>Fri, 13 Mar 2009 07:03:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:49143</guid><dc:creator>Theof</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/49143.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=49143</wfw:commentRss><description>Το πρόβλημα έχει να κάνει με το server collation setting το οποίο επιλέγεις όταν εγκαθιστάς τον Sql Server. (μίλαμε πάντα για το πρόβλημα με τα object names, όχι τα data).&lt;br&gt;Πρέπει να δημιουργεί τις system databases με το colation που επιλέγεις στο setup. &lt;br&gt;&lt;br&gt;Κάπου είχα βρει και ένα link, στο οποίο αναφερόταν πως έπρεπε να γίνει επανεγκατάσταση, και έδινες ώς παραμέτρους τα collations που ήθελες να αλλάξεις.&lt;br&gt;&lt;br&gt;(http://yannis.spaces.live.com/Blog/cns!DB18F7F778686DA1!553.entry)&lt;br&gt;"You
can do this by running the following command from the "C:\Program
Files\Microsoft SQL Server\90\Setup Bootstrap" folder. Make sure the
SQL Server 2005 original CD is available:&lt;div id="msgcns!DB18F7F778686DA1!553" class="bvMsg"&gt;

&lt;div&gt;start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test &lt;strong&gt;SQLCOLLATION=&lt;font color="#ff0000"&gt;SQL_Latin1_General_CP1_CI_AI"&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;http://marcellotonarelli.wordpress.com/2009/01/25/how-to-change-ms-sql-server-2005-server-collation/&lt;br&gt;http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SQL-Server-2005/Q_23422696.html&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;Πάντως το script που είχα αναρτήσει παραπάνω δοκιμάστηκε αρκετά και
μπορώ πλέον να πω πως δουλεύει αποτελεσματικά. Ένα "τρωτό" θα μπορούσε
κανείς να επισημάνει: Προϋποθέτει ότι δεν υπάρχουν Foreign Keys ! Αν
υπάρχουν χτυπά σε ένα ένα από αυτά, οπότε είσαι αναγκασμένος να
φτιάξεις 2 &amp;gt;scripts ακόμα, 1 που θα τα ρίχνει όλα και 1 που θα τα
ξανασηκώνει φυσικά ώστε να το εκτελέσεις μετά την εκτέλεση του
τροποποιητικού script.&lt;br&gt;&lt;br&gt;Είναι θετικό που τα έχεις δοκιμάσει και μπορείς να επιβεβαιώσεις την λειτουγία τους. &lt;br&gt;&lt;br&gt;Ελπίζω αν έχει κάποιος πρόβληματα, στο μέλλον να μπορέσει να βοηθηθεί από τα links, ή/και αν βρει κάτι καλύτερο ας το εισάγει και στο thread....&lt;br&gt;&lt;br&gt;Καληνύχτα από μένα...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/49141.aspx</link><pubDate>Fri, 13 Mar 2009 05:00:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:49141</guid><dc:creator>antonisV</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/49141.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=49141</wfw:commentRss><description>Η παρατήρησή σου πιθανόν είναι σωστή.&lt;br&gt;&lt;br&gt;Η αλήθεια είναι πως ο SQL Server έχει 3 επίπεδα για το case sensitivity όπως αναφέρθηκε και πιο πάνω( Instance, Database, Column). Το θέμα είναι για τα ονόμτα των objects όπως ας πούμε ενός πίνακα ποιο από τα 2 πρώτα ευθύνεται; Φαντάζομαι ότι το λογικό είναι να ευθύνεται το 2ο, δηλαδή αυτό της βάσης ! Ωστόσο, δεν ξέρω κατά πόσο όταν εγκαταστήσεις ένα Instance που είναι Case Sensitive, σου επιτρέπει μετά να φτιάξεις βάσεις που είναι Case Insensitive !! και το αντίστροφο φυσικά. Φαντάζομαι εκεί είναι το κλειδί του προβλήματισμού.&lt;br&gt;&lt;br&gt;Πάντως το script που είχα αναρτήσει παραπάνω δοκιμάστηκε αρκετά και μπορώ πλέον να πω πως δουλεύει αποτελεσματικά. Ένα "τρωτό" θα μπορούσε κανείς να επισημάνει: Προϋποθέτει ότι δεν υπάρχουν Foreign Keys ! Αν υπάρχουν χτυπά σε ένα ένα από αυτά, οπότε είσαι αναγκασμένος να φτιάξεις 2 scripts ακόμα, 1 που θα τα ρίχνει όλα και 1 που θα τα ξανασηκώνει φυσικά ώστε να το εκτελέσεις μετά την εκτέλεση του τροποποιητικού script.&lt;br&gt;&lt;br&gt;antonisV&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48393.aspx</link><pubDate>Fri, 13 Feb 2009 01:48:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48393</guid><dc:creator>Theof</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48393.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=48393</wfw:commentRss><description>Τα scripts φαίνονται ενδιαφέροντα με μια πρώτη ματιά. &lt;br&gt;&lt;br&gt;Αν και έχει περάσει μεγάλο χρονικό διάστημα από την την καταχώριση του τελευταίου μηνύματος στο συγκεκριμένο θέμα, θα ήθελα να προσθέσω&amp;nbsp; πως απ' όσο έχω διαβάσει (στο net οπότε δεν μπορώ να επαληθεύσω την εγκυρότητα της πληροφορίας) ότι αν γίνει εγκατάσταση του SQL Server με case sensitivity τότε και η ονομασία των objects θα είναι επίσης case sensitive, ενώ στην αντίθετη περίπτωση δεν είναι case sensitive.&lt;br&gt;&lt;br&gt;Έτυχε πρόσφατα stored procedure που λειτουργούσε κανονικά, όταν μεταφέρθηκε σε άλλο server από κάποιο τεχνικό τμήμα, να μη λειτουργεί εξαιτίας του ότι κάποιες global μεταβλητές δεν αναγνωριζόντουσαν εξαιτίας του case sensitivity. &lt;br&gt;&lt;br&gt;Εγκυκλοπαιδικά&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42388.aspx</link><pubDate>Mon, 26 May 2008 04:12:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42388</guid><dc:creator>antonisV</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42388.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42388</wfw:commentRss><description>Λοιπόν, ο κώδικας στον οποίο κατέληξα είναι ο παρακάτω. Χρησιμοποίησα
τον κώδικα που δημοσίευσε παραπάνω ο micfarmakis, καθώς και τον
προτεινόμενο κώδικα στο &lt;a href="http://blog.sqlauthority.com/2007/09/04/sql-server-2005-find-tables-with-primary-key-constraint-in-database/"&gt;Blog&lt;/a&gt; του Pinal Dave.&lt;br&gt;&lt;br&gt;
Βρίσκει όλα τα indexes, όποιας μορφής, σχηματίζει τα create stmts τους,
τα ρίχνει σε descending order, αλλάζει το COLLATE σε όλα τα varchar κτλ
columns κάθε πίνακα και ξανασηκώνει τα indexes, keys. Στο τέλος κάνει
refresh όλα τα views για να "ενσωματώσουν" κι αυτά τις αλλαγές των
πινάκων.&lt;br&gt;&lt;br&gt;Ζητώ συγγνώμη για το μακροσκελές του κώδικα. Είμαι σίγουρος πως μπορεί να γραφτεί και καλύτερα σε λιγότερες γραμμές από κάποιον ποιο έμπειρο, όπως για παράδειγμα το κομμάτι κώδικα (γρ.68-98) που μπορεί να υλοποιηθεί κατευθείαν από το SELECT stmt του cursor στη γρ.47.&lt;br&gt;&lt;br&gt;Εύχομαι να βοηθήσει κι άλλους. Ευχαριστώ και πάλι όσους απάντησαν. Οποιαδήποτε διόρθωση ευπρόσδεκτη.&lt;br&gt;antonisV&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt;6&lt;br&gt;7&lt;br&gt;8&lt;br&gt;9&lt;br&gt;10&lt;br&gt;11&lt;br&gt;12&lt;br&gt;13&lt;br&gt;14&lt;br&gt;15&lt;br&gt;16&lt;br&gt;17&lt;br&gt;18&lt;br&gt;19&lt;br&gt;20&lt;br&gt;21&lt;br&gt;22&lt;br&gt;23&lt;br&gt;24&lt;br&gt;25&lt;br&gt;26&lt;br&gt;27&lt;br&gt;28&lt;br&gt;29&lt;br&gt;30&lt;br&gt;31&lt;br&gt;32&lt;br&gt;33&lt;br&gt;34&lt;br&gt;35&lt;br&gt;36&lt;br&gt;37&lt;br&gt;38&lt;br&gt;39&lt;br&gt;40&lt;br&gt;41&lt;br&gt;42&lt;br&gt;43&lt;br&gt;44&lt;br&gt;45&lt;br&gt;46&lt;br&gt;47&lt;br&gt;48&lt;br&gt;49&lt;br&gt;50&lt;br&gt;51&lt;br&gt;52&lt;br&gt;53&lt;br&gt;54&lt;br&gt;55&lt;br&gt;56&lt;br&gt;57&lt;br&gt;58&lt;br&gt;59&lt;br&gt;60&lt;br&gt;61&lt;br&gt;62&lt;br&gt;63&lt;br&gt;64&lt;br&gt;65&lt;br&gt;66&lt;br&gt;67&lt;br&gt;68&lt;br&gt;69&lt;br&gt;70&lt;br&gt;71&lt;br&gt;72&lt;br&gt;73&lt;br&gt;74&lt;br&gt;75&lt;br&gt;76&lt;br&gt;77&lt;br&gt;78&lt;br&gt;79&lt;br&gt;80&lt;br&gt;81&lt;br&gt;82&lt;br&gt;83&lt;br&gt;84&lt;br&gt;85&lt;br&gt;86&lt;br&gt;87&lt;br&gt;88&lt;br&gt;89&lt;br&gt;90&lt;br&gt;91&lt;br&gt;92&lt;br&gt;93&lt;br&gt;94&lt;br&gt;95&lt;br&gt;96&lt;br&gt;97&lt;br&gt;98&lt;br&gt;99&lt;br&gt;100&lt;br&gt;101&lt;br&gt;102&lt;br&gt;103&lt;br&gt;104&lt;br&gt;105&lt;br&gt;106&lt;br&gt;107&lt;br&gt;108&lt;br&gt;109&lt;br&gt;110&lt;br&gt;111&lt;br&gt;112&lt;br&gt;113&lt;br&gt;114&lt;br&gt;115&lt;br&gt;116&lt;br&gt;117&lt;br&gt;118&lt;br&gt;119&lt;br&gt;120&lt;br&gt;121&lt;br&gt;122&lt;br&gt;123&lt;br&gt;124&lt;br&gt;125&lt;br&gt;126&lt;br&gt;127&lt;br&gt;128&lt;br&gt;129&lt;br&gt;130&lt;br&gt;131&lt;br&gt;132&lt;br&gt;133&lt;br&gt;134&lt;br&gt;135&lt;br&gt;136&lt;br&gt;137&lt;br&gt;138&lt;br&gt;139&lt;br&gt;140&lt;br&gt;141&lt;br&gt;142&lt;br&gt;143&lt;br&gt;144&lt;br&gt;145&lt;br&gt;146&lt;br&gt;147&lt;br&gt;148&lt;br&gt;149&lt;br&gt;150&lt;br&gt;151&lt;br&gt;152&lt;br&gt;153&lt;br&gt;154&lt;br&gt;155&lt;br&gt;156&lt;br&gt;157&lt;br&gt;158&lt;br&gt;159&lt;br&gt;160&lt;br&gt;161&lt;br&gt;162&lt;br&gt;163&lt;br&gt;164&lt;br&gt;165&lt;br&gt;166&lt;br&gt;167&lt;br&gt;168&lt;br&gt;169&lt;br&gt;170&lt;br&gt;171&lt;br&gt;172&lt;br&gt;173&lt;br&gt;174&lt;br&gt;175&lt;br&gt;176&lt;br&gt;177&lt;br&gt;178&lt;br&gt;179&lt;br&gt;180&lt;br&gt;181&lt;br&gt;182&lt;br&gt;183&lt;br&gt;184&lt;br&gt;185&lt;br&gt;186&lt;br&gt;187&lt;br&gt;188&lt;br&gt;189&lt;br&gt;190&lt;br&gt;191&lt;br&gt;192&lt;br&gt;193&lt;br&gt;194&lt;br&gt;195&lt;br&gt;196&lt;br&gt;197&lt;br&gt;198&lt;br&gt;199&lt;br&gt;200&lt;br&gt;201&lt;br&gt;202&lt;br&gt;203&lt;br&gt;204&lt;br&gt;205&lt;br&gt;206&lt;br&gt;207&lt;br&gt;208&lt;br&gt;209&lt;br&gt;210&lt;br&gt;211&lt;br&gt;212&lt;br&gt;213&lt;br&gt;214&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--&lt;/span&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;-- Created by antonisV - 25/05/2008&lt;/span&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @TABLE_NAME &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(100)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @VIEW_NAME &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(100)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COL_NAME&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(100)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IDX_NAME &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(100)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IS_PK &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NUMERIC&lt;/span&gt;(1)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IS_UNQ &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NUMERIC&lt;/span&gt;(1)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IDX_DESCR &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(20)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IDX_UNQ_CONS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NUMERIC&lt;/span&gt;(1)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IDX_COL_SORT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(10)&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IDX_CREATE_STMT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(2000)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IDX_DROP_STMT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(2000)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @ALL_TBL_IDX_STMT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(8000)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @ALTER_COLLATE_STMT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(2000)&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @fromCollation &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;sysname&lt;/span&gt;,&lt;br&gt;        @toCollation &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;sysname&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @fromCollation = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'SQL_Latin1_General_CP1253_CI_AI'&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @toCollation = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'SQL_Latin1_General_CP1253_CS_AS'&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Cursor for all user tables */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; SEL_USER_TABLES &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FOR&lt;/span&gt;&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt;  TABLE_NAME&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt;  INFORMATION_SCHEMA.TABLES&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt;  TABLE_TYPE &amp;lt;&amp;gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'VIEW'&lt;/span&gt;&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ORDER&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BY&lt;/span&gt; TABLE_NAME&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Open Table cursor */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OPEN&lt;/span&gt; SEL_USER_TABLES&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get table name */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_USER_TABLES &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @TABLE_NAME&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Loop around tables */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHILE&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@@FETCH_STATUS&lt;/span&gt; = 0&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @ALL_TBL_IDX_STMT = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;''&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Initialise create stmt for all indexes of current table */&lt;/span&gt;&lt;br&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Cursor for indexes of specific table ordered by descending index_id */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; SEL_IDX_INFO &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FOR&lt;/span&gt;&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; idx.name &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; IndexName,&lt;br&gt;             idx.is_primary_key &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; isPK,&lt;br&gt;             idx.is_unique &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; isUNQ,&lt;br&gt;             idx.type_desc &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; descr,&lt;br&gt;             idx.is_unique_constraint&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt;   sys.indexes &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; idx&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INNER&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;JOIN&lt;/span&gt; sys.tables &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; tbl &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ON&lt;/span&gt; idx.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt; = tbl.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt;&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; tbl.type = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'U'&lt;/span&gt;&lt;br&gt;      &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AND&lt;/span&gt;   &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_NAME&lt;/span&gt;(tbl.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt;) = @TABLE_NAME&lt;br&gt;      &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AND&lt;/span&gt;   idx.index_id &amp;lt;&amp;gt; 0&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ORDER&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BY&lt;/span&gt;  idx.index_id &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DESC&lt;/span&gt;&lt;br&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Open Index cursor for current table */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OPEN&lt;/span&gt; SEL_IDX_INFO&lt;br&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get index info */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_IDX_INFO &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @IDX_NAME, @IS_PK, @IS_UNQ, @IDX_DESCR, @IDX_UNQ_CONS&lt;br&gt;    &lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Loop around indexes */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHILE&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@@FETCH_STATUS&lt;/span&gt; = 0&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Start forming create stmt */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IF&lt;/span&gt; @IS_PK = 1&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* PRIMARY KEY */&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ALTER TABLE ['&lt;/span&gt;+@TABLE_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] ADD CONSTRAINT ['&lt;/span&gt;+@IDX_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] PRIMARY KEY CLUSTERED ( '&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_DROP_STMT = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ALTER TABLE ['&lt;/span&gt;+@TABLE_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] DROP CONSTRAINT ['&lt;/span&gt;+@IDX_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;']'&lt;/span&gt;&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ELSE&lt;/span&gt;&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* NON-PRIMARY-KEY IDX */&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IF&lt;/span&gt; @IDX_UNQ_CONS = 1&lt;br&gt;              &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* UNIQUE CONSTRAINT */&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ALTER TABLE ['&lt;/span&gt;+@TABLE_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] ADD CONSTRAINT ['&lt;/span&gt;+@IDX_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] UNIQUE NONCLUSTERED ( '&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_DROP_STMT = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ALTER TABLE ['&lt;/span&gt;+@TABLE_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] DROP CONSTRAINT ['&lt;/span&gt;+@IDX_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;']'&lt;/span&gt;&lt;br&gt;              &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ELSE&lt;/span&gt;&lt;br&gt;              &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* SIMPLE INDEX */&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_DROP_STMT = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'DROP INDEX ['&lt;/span&gt;+@IDX_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] ON ['&lt;/span&gt;+@TABLE_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;']'&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'CREATE '&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IF&lt;/span&gt; @IS_UNQ = 1&lt;br&gt;                  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Unique IDX */&lt;/span&gt;&lt;br&gt;                    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = @IDX_CREATE_STMT+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'UNIQUE '&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IF&lt;/span&gt; @IDX_DESCR = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'CLUSTERED'&lt;/span&gt;&lt;br&gt;                  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Clustered IDX */&lt;/span&gt;&lt;br&gt;                    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = @IDX_CREATE_STMT+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'CLUSTERED '&lt;/span&gt;&lt;br&gt;                  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ELSE&lt;/span&gt;&lt;br&gt;                  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;  &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Clustered IDX */&lt;/span&gt;&lt;br&gt;                    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = @IDX_CREATE_STMT+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'NONCLUSTERED '&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = @IDX_CREATE_STMT+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'INDEX ['&lt;/span&gt;+@IDX_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] ON ['&lt;/span&gt;+@TABLE_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] ( '&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Cursor for columns of a specific index ordered by ascending index_column_id */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; SEL_IDX_COLS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FOR&lt;/span&gt;&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COL_NAME&lt;/span&gt;(ic.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt;,ic.column_id) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; ColumnName,&lt;br&gt;                 &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CASE&lt;/span&gt; ic.is_descending_key&lt;br&gt;                  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHEN&lt;/span&gt; 1 &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;THEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'DESC'&lt;/span&gt;&lt;br&gt;                  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ELSE&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ASC'&lt;/span&gt;&lt;br&gt;                 &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; ColumnSort&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; sys.indexes &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; idx&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INNER&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;JOIN&lt;/span&gt; sys.index_columns &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; ic &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ON&lt;/span&gt; &lt;br&gt;                (idx.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt; = ic.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AND&lt;/span&gt; idx.index_id = ic.index_id)&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INNER&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;JOIN&lt;/span&gt; sys.tables &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; tbl &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ON&lt;/span&gt; idx.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt; = tbl.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt;&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; tbl.type = &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'U'&lt;/span&gt;&lt;br&gt;          &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AND&lt;/span&gt;   &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_NAME&lt;/span&gt;(ic.&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt;) = @TABLE_NAME&lt;br&gt;          &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AND&lt;/span&gt;   idx.name = @IDX_NAME&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ORDER&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BY&lt;/span&gt;  ic.index_column_id&lt;br&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Open cloumns cursor for current index */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OPEN&lt;/span&gt; SEL_IDX_COLS&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get column name and sorting */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_IDX_COLS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COL_NAME&lt;/span&gt;, @IDX_COL_SORT&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Loop around columns */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHILE&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@@FETCH_STATUS&lt;/span&gt; = 0&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Append to IDX create stmt */&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = @IDX_CREATE_STMT+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'['&lt;/span&gt;+@&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COL_NAME&lt;/span&gt;+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] '&lt;/span&gt;+@IDX_COL_SORT+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;', '&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get next column name and sorting */&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_IDX_COLS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COL_NAME&lt;/span&gt;, @IDX_COL_SORT&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Complete IDX create stmt */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;RTRIM&lt;/span&gt;(@IDX_CREATE_STMT)&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @IDX_CREATE_STMT = &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LEFT&lt;/span&gt;( @IDX_CREATE_STMT, &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LEN&lt;/span&gt;(@IDX_CREATE_STMT)-1 )+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;' )'&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Close cloumns cursor for current index */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CLOSE&lt;/span&gt; SEL_IDX_COLS&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DEALLOCATE&lt;/span&gt; SEL_IDX_COLS&lt;br&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Append on the left of all indexes creation stmt, the current one */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @ALL_TBL_IDX_STMT = @IDX_CREATE_STMT+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;' '&lt;/span&gt;+@ALL_TBL_IDX_STMT&lt;br&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Drop current Index */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EXEC&lt;/span&gt; (@IDX_DROP_STMT)&lt;br&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get next index info */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_IDX_INFO &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @IDX_NAME, @IS_PK, @IS_UNQ, @IDX_DESCR, @IDX_UNQ_CONS&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Close Index cursor for current table */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CLOSE&lt;/span&gt; SEL_IDX_INFO&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DEALLOCATE&lt;/span&gt; SEL_IDX_INFO&lt;br&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Cursor for altering collation on a specific table's txt columns */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; SEL_CHANGE_COLLATE &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FOR&lt;/span&gt;&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt;  &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ALTER TABLE ['&lt;/span&gt;+TABLE_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] ALTER COLUMN ['&lt;/span&gt;+COLUMN_NAME+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'] '&lt;/span&gt;+DATA_TYPE+&lt;br&gt;          &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CASE&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHEN&lt;/span&gt; CHARACTER_MAXIMUM_LENGTH = -1 &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;THEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'(max)'&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHEN&lt;/span&gt; DATA_TYPE &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IN&lt;/span&gt; (&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'text'&lt;/span&gt;,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ntext'&lt;/span&gt;) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;THEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;''&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHEN&lt;/span&gt; CHARACTER_MAXIMUM_LENGTH &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IS&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NOT&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;THEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'('&lt;/span&gt;+(&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CONVERT&lt;/span&gt;(&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;,CHARACTER_MAXIMUM_LENGTH)+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;')'&lt;/span&gt; )&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ELSE&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ISNULL&lt;/span&gt;(&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CONVERT&lt;/span&gt;(&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;,CHARACTER_MAXIMUM_LENGTH),&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;' '&lt;/span&gt;)&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;          +&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;' COLLATE '&lt;/span&gt; + @toCollation+&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;' '&lt;/span&gt;+&lt;br&gt;          &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CASE&lt;/span&gt; IS_NULLABLE &lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'YES'&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;THEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'NULL'&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'No'&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;THEN&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'NOT NULL'&lt;/span&gt;&lt;br&gt;          &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; INFORMATION_SCHEMA.COLUMNS&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; DATA_TYPE &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IN&lt;/span&gt; (&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'varchar'&lt;/span&gt; ,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'char'&lt;/span&gt;,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'nvarchar'&lt;/span&gt;,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'nchar'&lt;/span&gt;,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'text'&lt;/span&gt;,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'ntext'&lt;/span&gt;)&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--  AND COLLATION_NAME LIKE @fromCollation &lt;/span&gt;&lt;br&gt;      &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AND&lt;/span&gt; TABLE_NAME = @TABLE_NAME&lt;br&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Alter Collation where needed on current table */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OPEN&lt;/span&gt; SEL_CHANGE_COLLATE&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_CHANGE_COLLATE &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @ALTER_COLLATE_STMT&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Loop around columns */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHILE&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@@FETCH_STATUS&lt;/span&gt; = 0&lt;br&gt;      &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Execute alter command */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EXEC&lt;/span&gt;(@ALTER_COLLATE_STMT)&lt;br&gt;        &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get next alter stmt */&lt;/span&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_CHANGE_COLLATE &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @ALTER_COLLATE_STMT&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;  &lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CLOSE&lt;/span&gt; SEL_CHANGE_COLLATE&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DEALLOCATE&lt;/span&gt; SEL_CHANGE_COLLATE&lt;br&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Recreate key and indexes on table */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EXEC&lt;/span&gt;(@ALL_TBL_IDX_STMT)&lt;br&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get next table name */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_USER_TABLES &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @TABLE_NAME&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Close table cursor */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CLOSE&lt;/span&gt; SEL_USER_TABLES&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DEALLOCATE&lt;/span&gt; SEL_USER_TABLES&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Cursor for all user views */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; SEL_USER_VIEWS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FOR&lt;/span&gt;&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt;  TABLE_NAME&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt;  INFORMATION_SCHEMA.VIEWS&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ORDER&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BY&lt;/span&gt; TABLE_NAME&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Open view cursor */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OPEN&lt;/span&gt; SEL_USER_VIEWS&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get view name */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_USER_VIEWS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @VIEW_NAME&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Loop around views */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHILE&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@@FETCH_STATUS&lt;/span&gt; = 0&lt;br&gt;  &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Refresh view */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;exec&lt;/span&gt; &lt;span style="color:Brown;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;sp_refreshview&lt;/span&gt; @VIEW_NAME&lt;br&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Get next view name */&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; SEL_USER_VIEWS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @VIEW_NAME&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/* Close view cursor */&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CLOSE&lt;/span&gt; SEL_USER_VIEWS&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DEALLOCATE&lt;/span&gt; SEL_USER_VIEWS&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42237.aspx</link><pubDate>Sun, 25 May 2008 17:42:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42237</guid><dc:creator>antonisV</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42237.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42237</wfw:commentRss><description>Καλημέρα κι ευχαριστώ για τον προβληματισμό και την προτροπή.&lt;br&gt;&lt;br&gt;Με βάση την πληροφόρηση που έχεις μέσα από τα μηνύματά μου μάλλον έχεις δίκιο. Για να ξεκαθαρίσω απλά την κατάσταση παραθέτω σύντομα το τι οδηγεί σε αυτήν την απόφαση:&lt;br&gt;&lt;br&gt;Υπάρχει 1 σουίτα με περίπου 10 εφαρμογές, όλες γραμμένες εδώ κι αρκετά χρόνια, βασισμένες σε Oracle DB. Εκεί (δεν ξέρω αν έτσι είναι γενικά στην Oracle ή στα συγκεκριμένα στησίματα), ισχύει το CASE INSENSITIVITY στα DB objects (table names, column names etc) και CASE SENSITIVITY στα data. Ένας πελάτης λοιπόν αγοράζει τη σουίτα αλλά αποφασίζει να χρησιμοποιήσει SQL SERVER 2005. Εγκαθιστά τη 1 από τις 10 εφαρμογές σε SQL Server (η οποία ήταν εξ αρχής γραμμένη να παίζει σωστά και με τα 2 RDBMS) και τις υπόλοιπες σε Oracle μέχρι κι αυτές να "γυρίσουν". Η 1 που ήδη παίζει στον MSS 2005, τυγχάνει !!!! να μην έχει πρόβλημα με τα CASE SENSITIVE data που γενικά η σουίτα χρειάζεται. Μόλις όμως οι άλλες 9 αρχίσουν να παίζουν σε SQL Server 2005, τότε θα υπάρξει μέγα θέμα ! Επίσης, όσο παρανοϊκό κι αν ακουστεί, θα πρέπει η αλλαγή να γίνει σε αρκετές βάσεις, οι οποίες δεν γνωρίζουμε αν είναι ακριβή αντίγραφα η μια της άλλης (δεν μου επιτρέπεται να επεκταθώ περεταίρω σε αυτό), οπότε χρειάζομαι αναγκαστικά ένα script το οποίο θα ρίχνει αρχικά όλα τα indexes, keys στην οποιαδήποτε βάση, θα κάνει την αλλαγή στο collation σε επίπεδο columns και θα ξανανεβάζει τα indexes, keys.&lt;br&gt;&lt;br&gt;Όπως είπα και στο ποηγούμενο μήνυμα, μόλις το ολοκληρώσω θα το αναρτήσω.&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42207.aspx</link><pubDate>Sat, 24 May 2008 00:22:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42207</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42207.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42207</wfw:commentRss><description>&lt;P&gt;Θα σου πρότεινα να μην το κάνεις. Έχεις μία βάση CI, με μία εφαρμογή η οποία υποθέτει CI και οι οποίες παίζουν τώρα. Αν αλλάξεις τώρα το collation, ο δικός σου κώδικας θα παίξει και θα σκάσει η υπόλοιπη εφαρμογή. Τί προσπαθείς να κάνεις? Γιατί ξαφνικά μία εφαρμογή η οποία υποθέτει CI πρέπει τώρα να αλλάξει? Μήπως θα πρέπει να ψάξεις μία άλλη λύση? Γιατί θέλεις να αλλάξεις το collation?&lt;/P&gt;
&lt;P&gt;Όσο για το flag, πρέπει να καταλάβεις ότι το collation κάθε αντικειμένου χρησιμεύει ως default για τα αντικείμενα κάτω από αυτό, δεν τα προσδιορίζει. Μπορείς π.χ. να αλλάξεις το collation της βάσης, αυτό όμως δεν θα αλλάξει τα collations των πινάκων που έχουν ήδη δημιουργηθεί. Διαφορετικά θα έσκαγαν οι εφαρμογές που ήταν ήδη γραμμένες και υπέθεταν ότι το collation έχει μία συγκεκριμένη συμπεριφορά.&lt;/P&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42206.aspx</link><pubDate>Sat, 24 May 2008 00:10:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42206</guid><dc:creator>antonisV</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42206.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42206</wfw:commentRss><description>Αρχικά, να σημειώσω πως ο κώδικας είναι κορυφαίος !&lt;br&gt;&lt;br&gt;Καταλλήγουμε συνεπώς σε αυτό που έλεγα στο 2ο κατά σειρά μήνυμά μου πως αναγκαστικά θα γράψουμε script, το οποίο πρώτα θα ρίχνει τους indexes και τα keys, στη συνέχεια θα κάνει την αλλαγή χρησιμοποιώντας για πράδειγμα τον κώδικα που παρέθεσες και μετά θα τους ξανασηκώνει.&lt;br&gt;&lt;br&gt;Μες το ΣΚ θα προσπαθήσω να το ολοκληρώσω και θα το κάνω upload συνολικά. Μπορεί να χρειαστεί και σε κάποιον άλλο.&lt;br&gt;&lt;br&gt;Κρίμα που δεν έχει βάλει η Microsoft μια flag για όλο αυτό &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;&lt;br&gt;&lt;br&gt;Ευχαριστώ και πάλι... θα επανέλθω με τον κώδικα.&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42197.aspx</link><pubDate>Fri, 23 May 2008 21:40:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42197</guid><dc:creator>micfarmakis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42197.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42197</wfw:commentRss><description>&lt;SPAN id=ctl00_MainContentPlaceholder_ctl01_ctl00_lblEntry&gt;
&lt;DIV class=bvEntry id=entrycns!80677FB08B3162E4!853&gt;
&lt;DIV id=LastMDatecns!80677FB08B3162E4!853&gt;Change table collations en masse.&lt;/DIV&gt;
&lt;DIV class=bvMsg id=msgcns!80677FB08B3162E4!853&gt;
&lt;DIV&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;To change this, I will use a query that I Adapted from Justin Mallier's blog: (http://mallier.blogspot.com/2005/11/how-to-change-collation-against-all.html) that builds a script to alter the columns:&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#333399&gt;--I added the variables to make it more safe (Some collations may be desired &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#333399&gt;--to stay the same. I did use like on the from so you could change them all pretty &lt;BR&gt;--easily. Also I added text and max datatype support&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;declare&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;&amp;nbsp; @fromCollation sysname&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;@toCollation &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;sysname&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@fromCollation = &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;'SQL_Latin1_General_CP1_CS_AS'&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&lt;FONT color=#333399&gt;set&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @toCollation = 'SQL_Latin1_General_CP1_CI_AS'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt; 
&lt;P&gt;&lt;FONT color=#333399&gt;SELECT&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;'ALTER TABLE '&lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt; + TABLE_NAME +&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;'&amp;nbsp;&amp;nbsp; ALTER COLUMN '&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt; + COLUMN_NAME + &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;' '&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt; + DATA_TYPE +&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;CASE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt; WHEN CHARACTER_MAXIMUM_LENGTH = -1 then '(max)'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt;DATA_TYPE in ('text','ntext') then ''&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;WHEN&amp;nbsp;CHARACTER_MAXIMUM_LENGTH IS NOT NULL&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; THEN '('+(CONVERT(VARCHAR,CHARACTER_MAXIMUM_LENGTH)+')' )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;ELSE&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt; isnull(CONVERT(VARCHAR,CHARACTER_MAXIMUM_LENGTH),' ') &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;END&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;+&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;' COLLATE ' + @toCollation+ ' ' + &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;CASE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" color=#333399&gt; IS_NULLABLE&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'YES' THEN 'NULL'&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;WHEN 'No' THEN 'NOT NULL'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;END&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt; INFORMATION_SCHEMA.COLUMNS&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;WHERE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#333399&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt; DATA_TYPE IN ('varchar' ,'char','nvarchar','nchar','text','ntext')&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&amp;nbsp; and COLLATION_NAME like @fromCollation&lt;/FONT&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/SPAN&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42181.aspx</link><pubDate>Fri, 23 May 2008 18:08:37 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42181</guid><dc:creator>antonisV</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42181.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42181</wfw:commentRss><description>Ευχαριστώ πολύ για την απάντηση.&lt;br&gt;&lt;br&gt;Δυστυχώς όμως μάλλον δεν έγινα κατανοητός σε κάποια σημεία.&lt;br&gt;&lt;br&gt;Καταρχάς αν έχεις case sensitive database, το "SELECT * FROM table1" δεν αναγνωρίζεται, αν έχεις δημιουργήσει τον πίνακα ως "TABLE1". Συγκεκριμένα λαμβάνεις το κάτωθι error:&lt;br&gt;&lt;br&gt;Msg 208, Level 16, State 1, Line 1&lt;br&gt;Invalid object name 'table1'.&lt;br&gt;&lt;br&gt;Αυτό εννοώ με τα διαφορετικά γραμμένα queries.&lt;br&gt;&lt;br&gt;Τώρα όσον αφορά τα 2 queries που προτείνεις, ορθά το ένα φέρνει και τις 2 εγγραφές, το άλλο τη 1. Δεν τίθεται θέμα όμως αλλαγής του οποιουδήποτε query. Η λύση στο πρόβλημα που περιέγραψα πρέπει να είναι γενική χωρίς να γίνει η οποιαδήποτε τροποποίηση query. Να μη χρειάζεται δηλαδή να γραφτεί ένα query που θα περιλαμβάνει π.χ. το COLLATE ... &lt;br&gt;&lt;br&gt;Η λύση θα ήταν να υπήρχε μια ρύθμιση, ένα flag ή property, που να δηλώνει στη βάση ότι ναι μεν η ίδια είναι CASE INSENSITIVE, ώστε να μην προκύπτει το παραπάνω error, αλλά τα data μέσα σε αυτήν να είναι CASE SENSITIVE. Το να ορίσω όπως προτείνεις "...σε επίπεδο στήλης που σε ενδιαφέρει το COLLATION να είναι case sensitive οπότε δεν θα έχεις πρόβλημα(πχ &lt;font color="#0000ff" size="2"&gt;COLLATE&lt;/font&gt;&lt;font size="2"&gt; SQL_Latin1_General_CP1253_CS_AS&lt;/font&gt;)..." είναι ΑΠΟΛΥΤΑ ΣΩΣΤΟ !. Το πρόβλημα είναι πώς αυτό μπορεί (αν μπορεί) να γίνει εύκολα για όλες τις στήλες όλων των πινάκων της βάσης, γιατί δυστυχώς δεν είχε γίνει εξ αρχής μια σωστή ανάλυση που να καθορίζει ποιες στήλες πρέπει να έχουν το CASE SENSITIVITY και ποιες όχι.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42176.aspx</link><pubDate>Fri, 23 May 2008 17:16:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42176</guid><dc:creator>micfarmakis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42176.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42176</wfw:commentRss><description>&lt;P&gt;Το SQL query string εφόσον είναι συντακτικά ορθό εκτελείται ανεξάρτητα από κεφαλαία ή μικρά. To collation εφαρμόζεται πάνω στις τιμές και όχι στη σύνταξη του statement.&lt;/P&gt;
&lt;P&gt;Η βάση σου έχει SQL_Latin1_General_CP1253_CI_AI&amp;nbsp;Case Insesensitve&amp;nbsp;Accent Insensitive&amp;nbsp;default&amp;nbsp;χαρακτηριστικά και συνεπώς δικαιολογήμενα στο σενάριο που περιγράφεις εμφανίζει αυτή τη συμπεριφορά.'Ορισε σε επίπεδο στήλης που σε ενδιαφέρει το COLLATION να είναι case sensitive οπότε δεν θα έχεις πρόβλημα(πχ &lt;FONT color=#0000ff size=2&gt;COLLATE&lt;/FONT&gt;&lt;FONT size=2&gt; SQL_Latin1_General_CP1253_CS_AS&lt;/FONT&gt;). To collation του πίνακα μπορεί να είναι διαφορετικό. &lt;/P&gt;
&lt;P&gt;Το παρακάτω query σου επιστρέφει και τις 2&amp;nbsp; εγγραγές αν θα ήθελες&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;FONT color=#000000 size=2&gt; [MYNAME]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;[MYcode]&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;[Mytable1] &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; [MYNAME] &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;COLLATE&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; SQL_Latin1_General_CP1253_CI_AS&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'ANTONIS'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;ενώ το απλό θα σου φερει μόνο 1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;SELECT&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; [MYNAME]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;[MYcode]&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;[Mytable1] &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; [MYNAME] &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'ANTONIS'&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42170.aspx</link><pubDate>Fri, 23 May 2008 01:08:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42170</guid><dc:creator>antonisV</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42170.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42170</wfw:commentRss><description>Καλησπέρα&lt;br&gt;&lt;br&gt;Πιθανόν δεν εξήγησα καλά αυτό που ήθελα να πω....&lt;br&gt;&lt;br&gt;Ας πούμε ότι έχουμε τον εξής πίνακα:&lt;br&gt;&lt;br&gt;MYTABLE&lt;br&gt;----------&lt;br&gt;MYNAME VARCHAR(80)&lt;br&gt;MYCODE NUMERIC(15,2)&lt;br&gt;.......&lt;br&gt;.......&lt;br&gt;&lt;br&gt;κι ας θεωρήσουμε primary key το MYCODE και 1 unique index στο MYNAME.&lt;br&gt;&lt;br&gt;Στην περίπτωση που η βάση είναι όπως περιέγραψα, δηλ. CASE INSENSITIVE, τότε τα 2 παρακάτω queries τρέχουν και τα 2:&lt;br&gt;&lt;br&gt;1. SELECT* FROM MYTABLE WHERE MYCODE = 5&lt;br&gt;2. select * from mytable where mycode = 5&lt;br&gt;&lt;br&gt;&lt;br&gt;Ωστόσο, αν επιχειρήσω να εισάγω στον πίνακα 2 εγγραφές, στις οποίες το MYNAME θα είναι: "ANTONIS" στην 1η και "antonis" στη 2η, o unique index στο πεδίο θα διαμαρτηρηθεί ευλόγως γιατί θα καταλάβει πως οι 2 περιπτώσεις ονόματος είναι ακριβώς το ίδιο πράγμα. Δυστυχώς στην περίπτωση που με απασχολεί χρειάζεται να θεωρούνται 2 διαφορετικά πράγματα !&lt;br&gt;&lt;br&gt;Παρόλα αυτά χρειάζομαι και τα 2 προαναφερθέντα queries να μπορούν και τα 2 να τρέξουν γιατί δυστυχώς η εφαρμογή που τα έχει embedded είναι γραμμένη από πολλούς διαφορετικούς ανθρώπους που δεν τήρησαν ένα κοινό τρόπο προγραμματισμού (όλα κεφαλαία ή όλα μικρά) και σε κάθε περίπτωση δεν υπάρχει ο χρόνος για αλλαγή λόγω και του όγκου.&lt;br&gt;&lt;br&gt;Συνεπώς σε ό,τι αφορά βάση σαν αντικείμενο, πίνακες και στήλες σαν αντικείμενα θέλω CASE INSENSITIVITY. Στα δεδομένα όμως όπως στο πιο πάνω παράδειγμα, χρειάζομαι CASE SENSITIVITY.&lt;br&gt;&lt;br&gt;Προσπάθησα και κάποια άλλη λύση εκτός από αυτήν που είχα ανφέρει στο 1ο μήνυμα. Δηλαδή δοκίμασα έναν cursor γύρω από όλους τους πίνακες, ο οποίος διάβαζε τις κολώνες που ήταν varchar και εκτελούσε εντολή (ALTER TABLE T ALTER COLUMN C COLLATE CL...), αλλά δυστυχώς ζητά να πέσουν πρώτα όλα τα primary keys και indexes. Το πάρα πολύ περίεργο είναι πως στο γραφικό (modify) μέσα στο SQL SERVER 2005 MANAGEMENT STUDIO μπορείς από τα properties του column να αλλάξεις το COLLATION χωρίς να τον ενοχλεί το primary key ή κάποιο index !!!&lt;br&gt;&lt;br&gt;Ελπίζω να ήταν πιο σαφής αυτή η περιγραφή.&lt;br&gt;Ευχαριστώ&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42161.aspx</link><pubDate>Thu, 22 May 2008 22:42:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42161</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42161.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42161</wfw:commentRss><description>&lt;P&gt;Υποψιάζομαι ότι δεν έχεις καταλάβει καλά τί κάνει το collation. Τα δεδομένα αποθηκεύονται πάντα με το σωστό case, εξάλλου άλλος χαρακτήρας είναι το α, άλλος το A και άλλος το ά. Το collation παίζει ρόλο μόνο στις συγκρίσεις. Με τα collation που έχεις όμως ήδη χρησιμοποιείς Case Insensitive collations, οπότε τα queries σου ήδη πρέπει να παίζουν όπως τα θες. &lt;/P&gt;
&lt;P&gt;Τί ακριβώς συμβαίνει και θέλεις να αλλάξεις το collation?&lt;/P&gt;</description></item><item><title>SQL Server 2005 Case Sensitivity</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/42133.aspx</link><pubDate>Thu, 22 May 2008 18:17:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:42133</guid><dc:creator>antonisV</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/42133.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=42133</wfw:commentRss><description>Καλημέρα σε όλους και όλες.&lt;br&gt;&lt;br&gt;&lt;br&gt;Από όσο γνωρίζω ο SQL Server 2005 έχει 3 επίπεδα στα οποία επιτρέπει να ορίσεις Case Sensitivity ή Insensitivity μέσω COLLATE:&lt;br&gt;&lt;br&gt;1. Server Instance&lt;br&gt;2. Database&lt;br&gt;3. Table column&lt;br&gt;&lt;br&gt;&lt;br&gt;Αν έχουμε μια ήδη στημένη βάση με COLLATE:&lt;br&gt;&lt;br&gt;- Server: Latin1_General_CI_AS&lt;br&gt;- Database: SQL_Latin1_General_CP1253_CI_AI&lt;br&gt;&lt;br&gt;και σε κάθε column του κάθε πίνακα βέβαια: COLLATION = &amp;lt;database default&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;πώς μπορούμε να πετύχουμε Insensitivity όσον αφορά τα database objects, ώστε να μη χρειαστεί αλλαγή σε queries που είναι γραμμένα άλλα με κεφαλαία κι άλλα με μικρά γράμματα, αλλά ταυτόχρονα να έχουμε case sensitive data, ώστε το 'VOYAGE' να διαφέρει από το 'voyage' ;&lt;br&gt;&lt;br&gt;&lt;br&gt;Ο τρόπος που έχω βρει πως γίνεται είναι να κάνει κανείς SCRIPT OUT (με Generate Scripts) όλη τη βάση με όλα της τα objects (Tables, Keys, Indexes), να μεταβάλλει αυτό το Script ώστε σε όλα τα CREATE TABLE να ορίστεί σε κάθε column COLLATE που θα δίνει Case Sensitivity, να μετονομαστεί η παλιά βάση κι όταν σηκωθεί η νέα διορθωμένη μέσω του script, να μεταφερθούν τα data μέσω Import/Export Wizard από την "παλιά".&lt;br&gt;&lt;br&gt;Υπάρχει η δυνατότητα χωρίς να γίνει όλο το παραπάνω, να εκτελέσει κάνεις κάποια εντολή ή να αλλάξει κάποια ρύθμιση έτσι ώστε σε όλους τους υπάρχοντες και μελλοντικούς πίνακες τα columns να έχουν COLLATION τέτοιο ώστε να είναι Case Sensitive τα Data (έστω και σε άδεια βάση με πεσμένα τα indexes, keys, constraints κτλ);&lt;br&gt;&lt;br&gt;Ευχαριστώ εκ των προτέρων&lt;br&gt;&lt;br&gt;antonisV&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>